@watergis/maplibre-gl-terradraw 0.0.1

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maplibre-gl-terradraw.umd.js","sources":["../node_modules/.pnpm/terra-draw@1.0.0-beta.1/node_modules/terra-draw/dist/terra-draw.modern.js","../src/lib/constants/defaultControlOptions.ts","../src/lib/helpers/getTerraDrawModes.ts","../src/lib/MaplibreTerradrawControl.ts"],"sourcesContent":["function t(){return t=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var i=arguments[e];for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(t[o]=i[o])}return t},t.apply(this,arguments)}function e(t,e=9){const i=Math.pow(10,e);return Math.round(t*i)/i}const i=(t,e)=>{const{x:i,y:o}=t,{x:s,y:r}=e,n=s-i,a=r-o;return Math.sqrt(a*a+n*n)};class o{constructor({name:t,callback:e,unregister:i,register:o}){this.name=void 0,this.callback=void 0,this.registered=!1,this.register=void 0,this.unregister=void 0,this.name=t,this.register=()=>{this.registered||(this.registered=!0,o(e))},this.unregister=()=>{this.register&&(this.registered=!1,i(e))},this.callback=e}}class s{constructor(t){this._minPixelDragDistance=void 0,this._minPixelDragDistanceDrawing=void 0,this._minPixelDragDistanceSelecting=void 0,this._lastDrawEvent=void 0,this._coordinatePrecision=void 0,this._heldKeys=new Set,this._listeners=[],this._dragState=\"not-dragging\",this._currentModeCallbacks=void 0,this._minPixelDragDistance=\"number\"==typeof t.minPixelDragDistance?t.minPixelDragDistance:1,this._minPixelDragDistanceSelecting=\"number\"==typeof t.minPixelDragDistanceSelecting?t.minPixelDragDistanceSelecting:1,this._minPixelDragDistanceDrawing=\"number\"==typeof t.minPixelDragDistanceDrawing?t.minPixelDragDistanceDrawing:8,this._coordinatePrecision=\"number\"==typeof t.coordinatePrecision?t.coordinatePrecision:9}getButton(t){return-1===t.button?\"neither\":0===t.button?\"left\":1===t.button?\"middle\":2===t.button?\"right\":\"neither\"}getMapElementXYPosition(t){const e=this.getMapEventElement(),{left:i,top:o}=e.getBoundingClientRect();return{containerX:t.clientX-i,containerY:t.clientY-o}}getDrawEventFromEvent(t){const i=this.getLngLatFromEvent(t);if(!i)return null;const{lng:o,lat:s}=i,{containerX:r,containerY:n}=this.getMapElementXYPosition(t),a=this.getButton(t),l=Array.from(this._heldKeys);return{lng:e(o,this._coordinatePrecision),lat:e(s,this._coordinatePrecision),containerX:r,containerY:n,button:a,heldKeys:l}}register(t){this._currentModeCallbacks=t,this._listeners=this.getAdapterListeners(),this._listeners.forEach(t=>{t.register()})}getCoordinatePrecision(){return this._coordinatePrecision}getAdapterListeners(){return[new o({name:\"pointerdown\",callback:t=>{if(!this._currentModeCallbacks)return;if(!t.isPrimary)return;const e=this.getDrawEventFromEvent(t);e&&(this._dragState=\"pre-dragging\",this._lastDrawEvent=e)},register:t=>{this.getMapEventElement().addEventListener(\"pointerdown\",t)},unregister:t=>{this.getMapEventElement().removeEventListener(\"pointerdown\",t)}}),new o({name:\"pointermove\",callback:t=>{if(!this._currentModeCallbacks)return;if(!t.isPrimary)return;t.preventDefault();const e=this.getDrawEventFromEvent(t);if(e)if(\"not-dragging\"===this._dragState)this._currentModeCallbacks.onMouseMove(e),this._lastDrawEvent=e;else if(\"pre-dragging\"===this._dragState){if(!this._lastDrawEvent)return;const t={x:this._lastDrawEvent.containerX,y:this._lastDrawEvent.containerY},o={x:e.containerX,y:e.containerY},s=this._currentModeCallbacks.getState(),r=i(t,o);let n=!1;if(n=\"drawing\"===s?r<this._minPixelDragDistanceDrawing:\"selecting\"===s?r<this._minPixelDragDistanceSelecting:r<this._minPixelDragDistance,n)return;this._dragState=\"dragging\",this._currentModeCallbacks.onDragStart(e,t=>{this.setDraggability.bind(this)(t)})}else\"dragging\"===this._dragState&&this._currentModeCallbacks.onDrag(e,t=>{this.setDraggability.bind(this)(t)})},register:t=>{this.getMapEventElement().addEventListener(\"pointermove\",t)},unregister:t=>{this.getMapEventElement().removeEventListener(\"pointermove\",t)}}),new o({name:\"contextmenu\",callback:t=>{this._currentModeCallbacks&&t.preventDefault()},register:t=>{this.getMapEventElement().addEventListener(\"contextmenu\",t)},unregister:t=>{this.getMapEventElement().removeEventListener(\"contextmenu\",t)}}),new o({name:\"pointerup\",callback:t=>{if(!this._currentModeCallbacks)return;if(t.target!==this.getMapEventElement())return;if(!t.isPrimary)return;const e=this.getDrawEventFromEvent(t);e&&(\"dragging\"===this._dragState?this._currentModeCallbacks.onDragEnd(e,t=>{this.setDraggability.bind(this)(t)}):\"not-dragging\"!==this._dragState&&\"pre-dragging\"!==this._dragState||this._currentModeCallbacks.onClick(e),this._dragState=\"not-dragging\",this.setDraggability(!0))},register:t=>{this.getMapEventElement().addEventListener(\"pointerup\",t)},unregister:t=>{this.getMapEventElement().removeEventListener(\"pointerup\",t)}}),new o({name:\"keyup\",callback:t=>{this._currentModeCallbacks&&(this._heldKeys.delete(t.key),this._currentModeCallbacks.onKeyUp({key:t.key,heldKeys:Array.from(this._heldKeys),preventDefault:()=>t.preventDefault()}))},register:t=>{this.getMapEventElement().addEventListener(\"keyup\",t)},unregister:t=>{this.getMapEventElement().removeEventListener(\"keyup\",t)}}),new o({name:\"keydown\",callback:t=>{this._currentModeCallbacks&&(this._heldKeys.add(t.key),this._currentModeCallbacks.onKeyDown({key:t.key,heldKeys:Array.from(this._heldKeys),preventDefault:()=>t.preventDefault()}))},register:t=>{this.getMapEventElement().addEventListener(\"keydown\",t)},unregister:t=>{this.getMapEventElement().removeEventListener(\"keydown\",t)}})]}unregister(){this._listeners.forEach(t=>{t.unregister()}),this.clear()}}class r extends s{constructor(t){if(super(t),this._cursor=void 0,this._cursorStyleSheet=void 0,this._lib=void 0,this._map=void 0,this._overlay=void 0,this._clickEventListener=void 0,this._mouseMoveEventListener=void 0,this.renderedFeatureIds=new Set,this._lib=t.lib,this._map=t.map,!this._map.getDiv().id)throw new Error(\"Google Map container div requires and id to be set\");this._coordinatePrecision=\"number\"==typeof t.coordinatePrecision?t.coordinatePrecision:9}get _layers(){var t;return Boolean((null==(t=this.renderedFeatureIds)?void 0:t.size)>0)}circlePath(t,e,i){const o=2*i;return`M ${t} ${e} m -${i}, 0 a ${i},${i} 0 1,0 ${o},0 a ${i},${i} 0 1,0 -${o},0`}register(t){super.register(t),this._overlay=new this._lib.OverlayView,this._overlay.draw=function(){},this._overlay.onAdd=()=>{this._currentModeCallbacks&&this._currentModeCallbacks.onReady&&this._currentModeCallbacks.onReady()},this._overlay.setMap(this._map),this._clickEventListener=this._map.data.addListener(\"click\",t=>{const e=this._listeners.find(({name:t})=>\"click\"===t);e&&e.callback(t)}),this._mouseMoveEventListener=this._map.data.addListener(\"mousemove\",t=>{const e=this._listeners.find(({name:t})=>\"mousemove\"===t);e&&e.callback(t)})}unregister(){var t,e,i;super.unregister(),null==(t=this._clickEventListener)||t.remove(),null==(e=this._mouseMoveEventListener)||e.remove(),null==(i=this._overlay)||i.setMap(null),this._overlay=void 0}getLngLatFromEvent(t){if(!this._overlay)throw new Error(\"cannot get overlay\");const e=this._map.getBounds();if(!e)return null;const i=e.getNorthEast(),o=e.getSouthWest(),s=new this._lib.LatLngBounds(o,i),r=this._map.getDiv(),n=t.clientX-r.getBoundingClientRect().left,a=t.clientY-r.getBoundingClientRect().top,l=new this._lib.Point(n,a),h=this._overlay.getProjection();if(!h)return null;const c=h.fromContainerPixelToLatLng(l);return c&&s.contains(c)?{lng:c.lng(),lat:c.lat()}:null}getMapEventElement(){return this._map.getDiv().querySelector('div[style*=\"z-index: 3;\"]')}project(t,e){if(!this._overlay)throw new Error(\"cannot get overlay\");if(void 0===this._map.getBounds())throw new Error(\"cannot get bounds\");const i=this._overlay.getProjection();if(void 0===i)throw new Error(\"cannot get projection\");const o=i.fromLatLngToContainerPixel(new this._lib.LatLng(e,t));if(null===o)throw new Error(\"cannot project coordinates\");return{x:o.x,y:o.y}}unproject(t,e){if(!this._overlay)throw new Error(\"cannot get overlay\");const i=this._overlay.getProjection();if(void 0===i)throw new Error(\"cannot get projection\");const o=i.fromContainerPixelToLatLng(new this._lib.Point(t,e));if(null===o)throw new Error(\"cannot unproject coordinates\");return{lng:o.lng(),lat:o.lat()}}setCursor(t){if(t!==this._cursor){if(this._cursorStyleSheet&&(this._cursorStyleSheet.remove(),this._cursorStyleSheet=void 0),\"unset\"!==t){const e=this._map.getDiv(),i=document.querySelector(`#${e.id} .gm-style > div`);if(i){i.classList.add(\"terra-draw-google-maps\");const e=document.createElement(\"style\");e.innerHTML=`.terra-draw-google-maps { cursor: ${t} !important; }`,document.getElementsByTagName(\"head\")[0].appendChild(e),this._cursorStyleSheet=e}}this._cursor=t}}setDoubleClickToZoom(t){this._map.setOptions(t?{disableDoubleClickZoom:!1}:{disableDoubleClickZoom:!0})}setDraggability(t){this._map.setOptions({draggable:t})}render(t,e){this._layers&&(t.deletedIds.forEach(t=>{const e=this._map.data.getFeatureById(t);e&&(this._map.data.remove(e),this.renderedFeatureIds.delete(t))}),t.updated.forEach(t=>{if(!t||!t.id)throw new Error(\"Feature is not valid\");const e=this._map.data.getFeatureById(t.id);if(!e)throw new Error(\"Feature could not be found by Google Maps API\");switch(e.forEachProperty((t,i)=>{e.setProperty(i,void 0)}),Object.keys(t.properties).forEach(i=>{e.setProperty(i,t.properties[i])}),t.geometry.type){case\"Point\":{const i=t.geometry.coordinates;e.setGeometry(new this._lib.Data.Point(new this._lib.LatLng(i[1],i[0])))}break;case\"LineString\":{const i=t.geometry.coordinates,o=[];for(let t=0;t<i.length;t++){const e=i[t],s=new this._lib.LatLng(e[1],e[0]);o.push(s)}e.setGeometry(new this._lib.Data.LineString(o))}break;case\"Polygon\":{const i=t.geometry.coordinates,o=[];for(let t=0;t<i.length;t++){const e=[];for(let o=0;o<i[t].length;o++){const s=new this._lib.LatLng(i[t][o][1],i[t][o][0]);e.push(s)}o.push(e)}e.setGeometry(new this._lib.Data.Polygon(o))}}}),t.created.forEach(t=>{this.renderedFeatureIds.add(t.id),this._map.data.addGeoJson(t)})),t.created.forEach(t=>{this.renderedFeatureIds.add(t.id)});const i={type:\"FeatureCollection\",features:[...t.created]};this._map.data.addGeoJson(i),this._map.data.setStyle(t=>{const i=t.getProperty(\"mode\"),o=t.getGeometry();if(!o)throw new Error(\"Google Maps geometry not found\");const s=o.getType(),r={};t.forEachProperty((t,e)=>{r[e]=t});const n=e[i]({type:\"Feature\",geometry:{type:s,coordinates:[]},properties:r});switch(s){case\"Point\":return{clickable:!1,icon:{path:this.circlePath(0,0,n.pointWidth),fillColor:n.pointColor,fillOpacity:1,strokeColor:n.pointOutlineColor,strokeWeight:n.pointOutlineWidth,rotation:0,scale:1}};case\"LineString\":return{strokeColor:n.lineStringColor,strokeWeight:n.lineStringWidth};case\"Polygon\":return{strokeColor:n.polygonOutlineColor,strokeWeight:n.polygonOutlineWidth,fillOpacity:n.polygonFillOpacity,fillColor:n.polygonFillColor}}throw Error(\"Unknown feature type\")})}clearLayers(){this._layers&&(this._map.data.forEach(t=>{const e=t.getId();this.renderedFeatureIds.has(e)&&this._map.data.remove(t)}),this.renderedFeatureIds=new Set)}clear(){this._currentModeCallbacks&&(this._currentModeCallbacks.onClear(),this.clearLayers())}getCoordinatePrecision(){return super.getCoordinatePrecision()}}class n extends s{constructor(t){super(t),this._lib=void 0,this._map=void 0,this._panes={},this._container=void 0,this._layers={},this._lib=t.lib,this._map=t.map,this._container=this._map.getContainer()}createPaneStyleSheet(t,e){const i=document.createElement(\"style\");return i.innerHTML=`.leaflet-${t}-pane {z-index: ${e+600};}`,document.getElementsByTagName(\"head\")[0].appendChild(i),this._map.createPane(t),i}clearPanes(){Object.values(this._panes).forEach(t=>{t&&t.remove()}),this._panes={}}clearLayers(){Object.values(this._layers).forEach(t=>{this._map.removeLayer(t)}),this._layers={}}styleGeoJSONLayer(t){return{pointToLayer:(e,i)=>{if(!e.properties)throw new Error(\"Feature has no properties\");if(\"string\"!=typeof e.properties.mode)throw new Error(\"Feature mode is not a string\");const o=(0,t[e.properties.mode])(e),s=String(o.zIndex);return this._panes[s]||(this._panes[s]=this.createPaneStyleSheet(s,o.zIndex)),this._lib.circleMarker(i,{radius:o.pointWidth,stroke:o.pointOutlineWidth||!1,color:o.pointOutlineColor,weight:o.pointOutlineWidth,fillOpacity:.8,fillColor:o.pointColor,pane:s,interactive:!1})},style:e=>{if(!e||!e.properties)return{};const i=e,o=(0,t[i.properties.mode])(i),s=String(o.zIndex);return this._panes[s]||(this._panes[s]=this.createPaneStyleSheet(s,o.zIndex)),\"LineString\"===i.geometry.type?{interactive:!1,color:o.lineStringColor,weight:o.lineStringWidth,pane:s}:\"Polygon\"===i.geometry.type?{interactive:!1,fillOpacity:o.polygonFillOpacity,fillColor:o.polygonFillColor,weight:o.polygonOutlineWidth,stroke:!0,color:o.polygonFillColor,pane:s}:{}}}}getLngLatFromEvent(t){const{containerX:e,containerY:i}=this.getMapElementXYPosition(t),o={x:e,y:i};if(null===o.x||isNaN(o.x)||null===o.y||isNaN(o.y))return null;const s=this._map.containerPointToLatLng(o);return null===s.lng||isNaN(s.lng)||null===s.lat||isNaN(s.lat)?null:{lng:s.lng,lat:s.lat}}getMapEventElement(){return this._container}setDraggability(t){t?this._map.dragging.enable():this._map.dragging.disable()}project(t,e){const{x:i,y:o}=this._map.latLngToContainerPoint({lng:t,lat:e});return{x:i,y:o}}unproject(t,e){const{lng:i,lat:o}=this._map.containerPointToLatLng({x:t,y:e});return{lng:i,lat:o}}setCursor(t){\"unset\"===t?this.getMapEventElement().style.removeProperty(\"cursor\"):this.getMapEventElement().style.cursor=t}setDoubleClickToZoom(t){t?this._map.doubleClickZoom.enable():this._map.doubleClickZoom.disable()}render(t,e){t.created.forEach(t=>{this._layers[t.id]=this._lib.geoJSON(t,this.styleGeoJSONLayer(e)),this._map.addLayer(this._layers[t.id])}),t.deletedIds.forEach(t=>{this._map.removeLayer(this._layers[t])}),t.updated.forEach(t=>{this._map.removeLayer(this._layers[t.id]),this._layers[t.id]=this._lib.geoJSON(t,this.styleGeoJSONLayer(e)),this._map.addLayer(this._layers[t.id])})}clear(){this._currentModeCallbacks&&(this._currentModeCallbacks.onClear(),this.clearLayers(),this.clearPanes())}register(t){super.register(t),this._currentModeCallbacks&&this._currentModeCallbacks.onReady&&this._currentModeCallbacks.onReady()}getCoordinatePrecision(){return super.getCoordinatePrecision()}unregister(){return super.unregister()}}class a extends s{constructor(t){super(t),this._nextRender=void 0,this._map=void 0,this._container=void 0,this._rendered=!1,this.changedIds={deletion:!1,points:!1,linestrings:!1,polygons:!1,styling:!1},this._map=t.map,this._container=this._map.getContainer()}clearLayers(){this._rendered&&([\"point\",\"linestring\",\"polygon\"].forEach(t=>{const e=`td-${t.toLowerCase()}`;this._map.removeLayer(e),\"polygon\"===t&&this._map.removeLayer(e+\"-outline\"),this._map.removeSource(e)}),this._rendered=!1,this._nextRender&&(cancelAnimationFrame(this._nextRender),this._nextRender=void 0))}_addGeoJSONSource(t,e){this._map.addSource(t,{type:\"geojson\",data:{type:\"FeatureCollection\",features:e},tolerance:0})}_addFillLayer(t){return this._map.addLayer({id:t,source:t,type:\"fill\",paint:{\"fill-color\":[\"get\",\"polygonFillColor\"],\"fill-opacity\":[\"get\",\"polygonFillOpacity\"]}})}_addFillOutlineLayer(t,e){const i=this._map.addLayer({id:t+\"-outline\",source:t,type:\"line\",paint:{\"line-width\":[\"get\",\"polygonOutlineWidth\"],\"line-color\":[\"get\",\"polygonOutlineColor\"]}});return e&&this._map.moveLayer(t,e),i}_addLineLayer(t,e){const i=this._map.addLayer({id:t,source:t,type:\"line\",paint:{\"line-width\":[\"get\",\"lineStringWidth\"],\"line-color\":[\"get\",\"lineStringColor\"]}});return e&&this._map.moveLayer(t,e),i}_addPointLayer(t,e){const i=this._map.addLayer({id:t,source:t,type:\"circle\",paint:{\"circle-stroke-color\":[\"get\",\"pointOutlineColor\"],\"circle-stroke-width\":[\"get\",\"pointOutlineWidth\"],\"circle-radius\":[\"get\",\"pointWidth\"],\"circle-color\":[\"get\",\"pointColor\"]}});return e&&this._map.moveLayer(t,e),i}_addLayer(t,e,i){\"Point\"===e&&this._addPointLayer(t,i),\"LineString\"===e&&this._addLineLayer(t,i),\"Polygon\"===e&&(this._addFillLayer(t),this._addFillOutlineLayer(t,i))}_addGeoJSONLayer(t,e){const i=`td-${t.toLowerCase()}`;return this._addGeoJSONSource(i,e),this._addLayer(i,t),i}_setGeoJSONLayerData(t,e){const i=`td-${t.toLowerCase()}`;return this._map.getSource(i).setData({type:\"FeatureCollection\",features:e}),i}getEmptyGeometries(){return{points:[],linestrings:[],polygons:[]}}updateChangedIds(t){[...t.updated,...t.created].forEach(t=>{\"Point\"===t.geometry.type?this.changedIds.points=!0:\"LineString\"===t.geometry.type?this.changedIds.linestrings=!0:\"Polygon\"===t.geometry.type&&(this.changedIds.polygons=!0)}),t.deletedIds.length>0&&(this.changedIds.deletion=!0),0===t.created.length&&0===t.updated.length&&0===t.deletedIds.length&&(this.changedIds.styling=!0)}getLngLatFromEvent(t){const{left:e,top:i}=this._container.getBoundingClientRect();return this.unproject(t.clientX-e,t.clientY-i)}getMapEventElement(){return this._map.getCanvas()}setDraggability(t){t?(this._map.dragRotate.enable(),this._map.dragPan.enable()):(this._map.dragRotate.disable(),this._map.dragPan.disable())}project(t,e){const{x:i,y:o}=this._map.project({lng:t,lat:e});return{x:i,y:o}}unproject(t,e){const{lng:i,lat:o}=this._map.unproject({x:t,y:e});return{lng:i,lat:o}}setCursor(t){const e=this._map.getCanvas();\"unset\"===t?e.style.removeProperty(\"cursor\"):e.style.cursor=t}setDoubleClickToZoom(t){t?this._map.doubleClickZoom.enable():this._map.doubleClickZoom.disable()}render(t,e){this.updateChangedIds(t),this._nextRender&&cancelAnimationFrame(this._nextRender),this._nextRender=requestAnimationFrame(()=>{const i=[...t.created,...t.updated,...t.unchanged],o=this.getEmptyGeometries();for(let t=0;t<i.length;t++){const s=i[t];Object.keys(e).forEach(t=>{const{properties:i}=s;if(i.mode!==t)return;const r=e[t](s);\"Point\"===s.geometry.type?(i.pointColor=r.pointColor,i.pointOutlineColor=r.pointOutlineColor,i.pointOutlineWidth=r.pointOutlineWidth,i.pointWidth=r.pointWidth,o.points.push(s)):\"LineString\"===s.geometry.type?(i.lineStringColor=r.lineStringColor,i.lineStringWidth=r.lineStringWidth,o.linestrings.push(s)):\"Polygon\"===s.geometry.type&&(i.polygonFillColor=r.polygonFillColor,i.polygonFillOpacity=r.polygonFillOpacity,i.polygonOutlineColor=r.polygonOutlineColor,i.polygonOutlineWidth=r.polygonOutlineWidth,o.polygons.push(s))})}const{points:s,linestrings:r,polygons:n}=o;if(this._rendered){const t=this.changedIds.deletion||this.changedIds.styling,e=t||this.changedIds.linestrings,i=t||this.changedIds.polygons;let o;(t||this.changedIds.points)&&(o=this._setGeoJSONLayerData(\"Point\",s)),e&&this._setGeoJSONLayerData(\"LineString\",r),i&&this._setGeoJSONLayerData(\"Polygon\",n),o&&this._map.moveLayer(o)}else{const t=this._addGeoJSONLayer(\"Point\",s);this._addGeoJSONLayer(\"LineString\",r),this._addGeoJSONLayer(\"Polygon\",n),this._rendered=!0,t&&this._map.moveLayer(t)}this.changedIds={points:!1,linestrings:!1,polygons:!1,deletion:!1,styling:!1}})}clear(){this._currentModeCallbacks&&(this._currentModeCallbacks.onClear(),this.clearLayers())}getCoordinatePrecision(){return super.getCoordinatePrecision()}unregister(){return super.unregister()}register(t){super.register(t),this._currentModeCallbacks&&this._currentModeCallbacks.onReady&&this._currentModeCallbacks.onReady()}}class l extends s{constructor(t){super(t),this.mapboxglAdapter=void 0,this.mapboxglAdapter=new a(t)}register(t){this.mapboxglAdapter.register(t)}unregister(){this.mapboxglAdapter.unregister()}getCoordinatePrecision(){return this.mapboxglAdapter.getCoordinatePrecision()}getLngLatFromEvent(t){return this.mapboxglAdapter.getLngLatFromEvent(t)}getMapEventElement(){return this.mapboxglAdapter.getMapEventElement()}setDraggability(t){this.mapboxglAdapter.setDraggability(t)}project(t,e){return this.mapboxglAdapter.project(t,e)}unproject(t,e){return this.mapboxglAdapter.unproject(t,e)}setCursor(t){this.mapboxglAdapter.setCursor(t)}setDoubleClickToZoom(t){this.mapboxglAdapter.setDoubleClickToZoom(t)}render(t,e){this.mapboxglAdapter.render(t,e)}clear(){this.mapboxglAdapter.clear()}}function h(){throw new Error(\"Unimplemented abstract method.\")}let c=0;function d(t,e){return Array.isArray(t)?t:(void 0===e?e=[t,t]:(e[0]=t,e[1]=t),e)}class u{constructor(t){this.opacity_=t.opacity,this.rotateWithView_=t.rotateWithView,this.rotation_=t.rotation,this.scale_=t.scale,this.scaleArray_=d(t.scale),this.displacement_=t.displacement,this.declutterMode_=t.declutterMode}clone(){const t=this.getScale();return new u({opacity:this.getOpacity(),scale:Array.isArray(t)?t.slice():t,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 h()}getImage(t){return h()}getHitDetectionImage(){return h()}getPixelRatio(t){return 1}getImageState(){return h()}getImageSize(){return h()}getOrigin(){return h()}getSize(){return h()}setDisplacement(t){this.displacement_=t}setOpacity(t){this.opacity_=t}setRotateWithView(t){this.rotateWithView_=t}setRotation(t){this.rotation_=t}setScale(t){this.scale_=t,this.scaleArray_=d(t)}listenImageChange(t){h()}load(){h()}unlistenImageChange(t){h()}ready(){return Promise.resolve()}}var g=u,p={name:\"rgb\",min:[0,0,0],max:[255,255,255],channel:[\"red\",\"green\",\"blue\"],alias:[\"RGB\"]},y={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]}}};y.max=y.whitepoint[2].D65,y.rgb=function(t,e){var i,o,s,r=t[0]/(e=e||y.whitepoint[2].E)[0],n=t[1]/e[1],a=t[2]/e[2];return o=-.96924363628087*r+1.87596750150772*n+.041555057407175*a,s=.055630079696993*r+-.20397695888897*n+1.056971514242878*a,i=(i=3.240969941904521*r+-1.537383177570093*n+-.498610760293*a)>.0031308?1.055*Math.pow(i,1/2.4)-.055:i*=12.92,o=o>.0031308?1.055*Math.pow(o,1/2.4)-.055:o*=12.92,s=s>.0031308?1.055*Math.pow(s,1/2.4)-.055:s*=12.92,[255*(i=Math.min(Math.max(0,i),1)),255*(o=Math.min(Math.max(0,o),1)),255*(s=Math.min(Math.max(0,s),1))]},p.xyz=function(t,e){var i=t[0]/255,o=t[1]/255,s=t[2]/255;return[(.41239079926595*(i=i>.04045?Math.pow((i+.055)/1.055,2.4):i/12.92)+.35758433938387*(o=o>.04045?Math.pow((o+.055)/1.055,2.4):o/12.92)+.18048078840183*(s=s>.04045?Math.pow((s+.055)/1.055,2.4):s/12.92))*(e=e||y.whitepoint[2].E)[0],(.21263900587151*i+.71516867876775*o+.072192315360733*s)*e[1],(.019330818715591*i+.11919477979462*o+.95053215224966*s)*e[2]]};var m={name:\"luv\",min:[0,-134,-140],max:[100,224,122],channel:[\"lightness\",\"u\",\"v\"],alias:[\"LUV\",\"cieluv\",\"cie1976\"],xyz:function(t,e,i){var o,s,r,n,a,l,h;return 0===(r=t[0])?[0,0,0]:(o=t[1]/(13*r)+4*(a=y.whitepoint[i=i||2][e=e||\"D65\"][0])/(a+15*(l=y.whitepoint[i][e][1])+3*(h=y.whitepoint[i][e][2]))||0,s=t[2]/(13*r)+9*l/(a+15*l+3*h)||0,[9*(n=r>8?l*Math.pow((r+16)/116,3):l*r*.0011070564598794539)*o/(4*s)||0,n,n*(12-3*o-20*s)/(4*s)||0])}};y.luv=function(t,e,i){var o,s,r,n,a,l,h,c,d,u,g;u=4*(h=y.whitepoint[i=i||2][e=e||\"D65\"][0])/(h+15*(c=y.whitepoint[i][e][1])+3*(d=y.whitepoint[i][e][2])),g=9*c/(h+15*c+3*d),o=4*(n=t[0])/(n+15*(a=t[1])+3*(l=t[2]))||0,s=9*a/(n+15*a+3*l)||0;var p=a/c;return[r=p<=.008856451679035631?903.2962962962961*p:116*Math.pow(p,1/3)-16,13*r*(o-u),13*r*(s-g)]},m.lchuv=function(t){var e=t[0],i=t[1],o=t[2],s=Math.sqrt(i*i+o*o),r=360*Math.atan2(o,i)/2/Math.PI;return r<0&&(r+=360),[e,s,r]},y.lchuv=function(t){return m.lchuv(y.luv(t))};var f={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]},v={red:0,orange:60,yellow:120,green:180,blue:240,purple:300},_={name:\"hsl\",min:[0,0,0],max:[360,100,100],channel:[\"hue\",\"saturation\",\"lightness\"],alias:[\"HSL\"],rgb:function(t){var e,i,o,s,r,n=t[0]/360,a=t[1]/100,l=t[2]/100,h=0;if(0===a)return[r=255*l,r,r];for(e=2*l-(i=l<.5?l*(1+a):l+a-l*a),s=[0,0,0];h<3;)(o=n+1/3*-(h-1))<0?o++:o>1&&o--,s[h++]=255*(r=6*o<1?e+6*(i-e)*o:2*o<1?i:3*o<2?e+(i-e)*(2/3-o)*6:e);return s}};function C(t,e,i){return Math.min(Math.max(t,e),i)}p.hsl=function(t){var e,i,o=t[0]/255,s=t[1]/255,r=t[2]/255,n=Math.min(o,s,r),a=Math.max(o,s,r),l=a-n;return a===n?e=0:o===a?e=(s-r)/l:s===a?e=2+(r-o)/l:r===a&&(e=4+(o-s)/l),(e=Math.min(60*e,360))<0&&(e+=360),i=(n+a)/2,[e,100*(a===n?0:i<=.5?l/(a+n):l/(2-a-n)),100*i]};const P=1024,x={};let M=0;function w(t){return Array.isArray(t)?t:function(t){if(x.hasOwnProperty(t))return x[t];if(M>=P){let t=0;for(const e in x)3&t++||(delete x[e],--M)}const e=function(t){var e;Array.isArray(t)&&t.raw&&(t=String.raw(...arguments)),t instanceof Number&&(t=+t);var i=function(t){var e,i,o=[],s=1;if(\"number\"==typeof t)return{space:\"rgb\",values:[t>>>16,(65280&t)>>>8,255&t],alpha:1};if(\"number\"==typeof t)return{space:\"rgb\",values:[t>>>16,(65280&t)>>>8,255&t],alpha:1};if(t=String(t).toLowerCase(),f[t])o=f[t].slice(),i=\"rgb\";else if(\"transparent\"===t)s=0,i=\"rgb\",o=[0,0,0];else if(\"#\"===t[0]){var r=t.slice(1),n=r.length;s=1,n<=4?(o=[parseInt(r[0]+r[0],16),parseInt(r[1]+r[1],16),parseInt(r[2]+r[2],16)],4===n&&(s=parseInt(r[3]+r[3],16)/255)):(o=[parseInt(r[0]+r[1],16),parseInt(r[2]+r[3],16),parseInt(r[4]+r[5],16)],8===n&&(s=parseInt(r[6]+r[7],16)/255)),o[0]||(o[0]=0),o[1]||(o[1]=0),o[2]||(o[2]=0),i=\"rgb\"}else if(e=/^((?:rgba?|hs[lvb]a?|hwba?|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms|oklch|oklab|color))\\s*\\(([^\\)]*)\\)/.exec(t)){var a=\"cmyk\"===(i=e[1].replace(/a$/,\"\"))?4:\"gray\"===i?1:3;o=e[2].trim().split(/\\s*[,\\/]\\s*|\\s+/),\"color\"===i&&(i=o.shift()),s=(o=o.map(function(t,e){if(\"%\"===t[t.length-1])return t=parseFloat(t)/100,3===e?t:\"rgb\"===i?255*t:\"h\"===i[0]?100*t:\"l\"!==i[0]||e?\"lab\"===i?125*t:\"lch\"===i?e<2?150*t:360*t:\"o\"!==i[0]||e?\"oklab\"===i?.4*t:\"oklch\"===i?e<2?.4*t:360*t:t:t:100*t;if(\"h\"===i[e]||2===e&&\"h\"===i[i.length-1]){if(void 0!==v[t])return v[t];if(t.endsWith(\"deg\"))return parseFloat(t);if(t.endsWith(\"turn\"))return 360*parseFloat(t);if(t.endsWith(\"grad\"))return 360*parseFloat(t)/400;if(t.endsWith(\"rad\"))return 180*parseFloat(t)/Math.PI}return\"none\"===t?0:parseFloat(t)})).length>a?o.pop():1}else/[0-9](?:\\s|\\/|,)/.test(t)&&(o=t.match(/([0-9]+)/g).map(function(t){return parseFloat(t)}),i=t.match(/([a-z])/gi)?.join(\"\")?.toLowerCase()||\"rgb\");return{space:i,values:o,alpha:s}}(t);if(!i.space)return[];const o=\"h\"===i.space[0]?_.min:p.min,s=\"h\"===i.space[0]?_.max:p.max;return(e=Array(3))[0]=Math.min(Math.max(i.values[0],o[0]),s[0]),e[1]=Math.min(Math.max(i.values[1],o[1]),s[1]),e[2]=Math.min(Math.max(i.values[2],o[2]),s[2]),\"h\"===i.space[0]&&(e=_.rgb(e)),e.push(Math.min(Math.max(i.alpha,0),1)),e}(t);if(4!==e.length)throw new Error('failed to parse \"'+t+'\" as color');for(const i of e)if(isNaN(i))throw new Error('failed to parse \"'+t+'\" as color');return function(t){t[0]=C(t[0]+.5|0,0,255),t[1]=C(t[1]+.5|0,0,255),t[2]=C(t[2]+.5|0,0,255),t[3]=C(t[3],0,1)}(e),x[t]=e,++M,e}(t)}function S(t){let e=t[0];e!=(0|e)&&(e=e+.5|0);let i=t[1];i!=(0|i)&&(i=i+.5|0);let o=t[2];return o!=(0|o)&&(o=o+.5|0),\"rgba(\"+e+\",\"+i+\",\"+o+\",\"+(void 0===t[3]?1:Math.round(1e3*t[3])/1e3)+\")\"}const b=\"undefined\"!=typeof navigator&&void 0!==navigator.userAgent?navigator.userAgent.toLowerCase():\"\";b.includes(\"firefox\"),b.includes(\"safari\")&&!b.includes(\"chrom\")&&(b.includes(\"version/15.4\")||/cpu (os|iphone os) 15_4 like mac os x/.test(b)),b.includes(\"webkit\")&&b.includes(\"edge\"),b.includes(\"macintosh\");const E=\"undefined\"!=typeof WorkerGlobalScope&&\"undefined\"!=typeof OffscreenCanvas&&self instanceof WorkerGlobalScope,I=\"undefined\"!=typeof Image&&Image.prototype.decode;function D(t,e,i,o){let s;return s=i&&i.length?i.shift():E?new OffscreenCanvas(t||300,e||300):document.createElement(\"canvas\"),t&&(s.width=t),e&&(s.height=e),s.getContext(\"2d\",o)}let k;function F(){return k||(k=D(1,1)),k}!function(){let t=!1;try{const e=Object.defineProperty({},\"passive\",{get:function(){t=!0}});window.addEventListener(\"_\",null,e),window.removeEventListener(\"_\",null,e)}catch(t){}}();var O=class{constructor(){this.disposed=!1}dispose(){this.disposed||(this.disposed=!0,this.disposeInternal())}disposeInternal(){}},L=class{constructor(t){this.type=t,this.target=null}preventDefault(){this.defaultPrevented=!0}stopPropagation(){this.propagationStopped=!0}};function W(){}function j(t){for(const e in t)delete t[e]}var B=class extends O{constructor(t){super(),this.eventTarget_=t,this.pendingRemovals_=null,this.dispatching_=null,this.listeners_=null}addEventListener(t,e){if(!t||!e)return;const i=this.listeners_||(this.listeners_={}),o=i[t]||(i[t]=[]);o.includes(e)||o.push(e)}dispatchEvent(t){const e=\"string\"==typeof t,i=e?t:t.type,o=this.listeners_&&this.listeners_[i];if(!o)return;const s=e?new L(t):t;s.target||(s.target=this.eventTarget_||this);const r=this.dispatching_||(this.dispatching_={}),n=this.pendingRemovals_||(this.pendingRemovals_={});let a;i in r||(r[i]=0,n[i]=0),++r[i];for(let t=0,e=o.length;t<e;++t)if(a=\"handleEvent\"in o[t]?o[t].handleEvent(s):o[t].call(this,s),!1===a||s.propagationStopped){a=!1;break}if(0==--r[i]){let t=n[i];for(delete n[i];t--;)this.removeEventListener(i,W);delete r[i]}return a}disposeInternal(){this.listeners_&&j(this.listeners_)}getListeners(t){return this.listeners_&&this.listeners_[t]||void 0}hasListener(t){return!!this.listeners_&&(t?t in this.listeners_:Object.keys(this.listeners_).length>0)}removeEventListener(t,e){if(!this.listeners_)return;const i=this.listeners_[t];if(!i)return;const o=i.indexOf(e);-1!==o&&(this.pendingRemovals_&&t in this.pendingRemovals_?(i[o]=W,++this.pendingRemovals_[t]):(i.splice(o,1),0===i.length&&delete this.listeners_[t]))}},G=\"change\";function N(t,e,i,o,s){if(s){const s=i;i=function(){t.removeEventListener(e,i),s.apply(o??this,arguments)}}else o&&o!==t&&(i=i.bind(o));const r={target:t,type:e,listener:i};return t.addEventListener(e,i),r}function A(t,e,i,o){return N(t,e,i,o,!0)}function R(t){t&&t.target&&(t.target.removeEventListener(t.type,t.listener),j(t))}function V(t,e,i){return e+\":\"+t+\":\"+(i?w(i):\"null\")}const z=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 t=0;for(const e in this.cache_)3&t++||this.cache_[e].hasListener()||(delete this.cache_[e],delete this.patternCache_[e],--this.cacheSize_)}}get(t,e,i){const o=V(t,e,i);return o in this.cache_?this.cache_[o]:null}getPattern(t,e,i){const o=V(t,e,i);return o in this.patternCache_?this.patternCache_[o]:null}set(t,e,i,o,s){const r=V(t,e,i),n=r in this.cache_;this.cache_[r]=o,s&&(0===o.getImageState()&&o.load(),1===o.getImageState()?o.ready().then(()=>{this.patternCache_[r]=F().createPattern(o.getImage(1),\"repeat\")}):this.patternCache_[r]=F().createPattern(o.getImage(1),\"repeat\")),n||++this.cacheSize_}setSize(t){this.maxCacheSize_=t,this.expire()}};let T=null;class X extends B{constructor(t,e,i,o,s){super(),this.hitDetectionImage_=null,this.image_=t,this.crossOrigin_=i,this.canvas_={},this.color_=s,this.imageState_=void 0===o?0:o,this.size_=t&&t.width&&t.height?[t.width,t.height]:null,this.src_=e,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_){T||(T=D(1,1,void 0,{willReadFrequently:!0})),T.drawImage(this.image_,0,0);try{T.getImageData(0,0,1,1),this.tainted_=!1}catch(t){T=null,this.tainted_=!0}}return!0===this.tainted_}dispatchChangeEvent_(){this.dispatchEvent(G)}handleImageError_(){this.imageState_=3,this.dispatchChangeEvent_()}handleImageLoad_(){this.imageState_=2,this.size_=[this.image_.width,this.image_.height],this.dispatchChangeEvent_()}getImage(t){return this.image_||this.initializeImage_(),this.replaceColor_(t),this.canvas_[t]?this.canvas_[t]:this.image_}getPixelRatio(t){return this.replaceColor_(t),this.canvas_[t]?t:1}getImageState(){return this.imageState_}getHitDetectionImage(){if(this.image_||this.initializeImage_(),!this.hitDetectionImage_)if(this.isTainted_()){const t=this.size_[0],e=this.size_[1],i=D(t,e);i.fillRect(0,0,t,e),this.hitDetectionImage_=i.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(t){this.handleImageError_()}this.image_ instanceof HTMLImageElement&&(t=this.image_,e=this.src_,e&&(t.src=e),t.src&&I?new Promise((e,i)=>t.decode().then(()=>e(t)).catch(o=>t.complete&&t.width?e(t):i(o))):function(t,e){return new Promise((e,i)=>{function o(){r(),e(t)}function s(){r(),i(new Error(\"Image load error\"))}function r(){t.removeEventListener(\"load\",o),t.removeEventListener(\"error\",s)}t.addEventListener(\"load\",o),t.addEventListener(\"error\",s)})}(t)).then(t=>{this.image_=t,this.handleImageLoad_()}).catch(this.handleImageError_.bind(this))}var t,e}replaceColor_(t){if(!this.color_||this.canvas_[t]||2!==this.imageState_)return;const e=this.image_,i=document.createElement(\"canvas\");i.width=Math.ceil(e.width*t),i.height=Math.ceil(e.height*t);const o=i.getContext(\"2d\");var s;o.scale(t,t),o.drawImage(e,0,0),o.globalCompositeOperation=\"multiply\",o.fillStyle=\"string\"==typeof(s=this.color_)?s:S(s),o.fillRect(0,0,i.width/t,i.height/t),o.globalCompositeOperation=\"destination-in\",o.drawImage(e,0,0),this.canvas_[t]=i}ready(){return this.ready_||(this.ready_=new Promise(t=>{if(2===this.imageState_||3===this.imageState_)t();else{const e=()=>{2!==this.imageState_&&3!==this.imageState_||(this.removeEventListener(G,e),t())};this.addEventListener(G,e)}})),this.ready_}}function U(t,e,i,o,s,r){let n=void 0===e?void 0:z.get(e,i,s);return n||(n=new X(t,t&&\"src\"in t?t.src||void 0:e,i,o,s),z.set(e,i,s,n,r)),r&&n&&!z.getPattern(e,i,s)&&z.set(e,i,s,n,r),n}function Y(t){return t?Array.isArray(t)?S(t):\"object\"==typeof t&&\"src\"in t?function(t){if(!t.offset||!t.size)return z.getPattern(t.src,\"anonymous\",t.color);const e=t.src+\":\"+t.offset,i=z.getPattern(e,void 0,t.color);if(i)return i;const o=z.get(t.src,\"anonymous\",null);if(2!==o.getImageState())return null;const s=D(t.size[0],t.size[1]);return s.drawImage(o.getImage(1),t.offset[0],t.offset[1],t.size[0],t.size[1],0,0,t.size[0],t.size[1]),U(s.canvas,e,void 0,2,t.color,!0),z.getPattern(e,void 0,t.color)}(t):t:null}var H=class extends B{constructor(){super(),this.on=this.onInternal,this.once=this.onceInternal,this.un=this.unInternal,this.revision_=0}changed(){++this.revision_,this.dispatchEvent(G)}getRevision(){return this.revision_}onInternal(t,e){if(Array.isArray(t)){const i=t.length,o=new Array(i);for(let s=0;s<i;++s)o[s]=N(this,t[s],e);return o}return N(this,t,e)}onceInternal(t,e){let i;if(Array.isArray(t)){const o=t.length;i=new Array(o);for(let s=0;s<o;++s)i[s]=A(this,t[s],e)}else i=A(this,t,e);return e.ol_key=i,i}unInternal(t,e){const i=e.ol_key;if(i)!function(t){if(Array.isArray(t))for(let e=0,i=t.length;e<i;++e)R(t[e]);else R(t)}(i);else if(Array.isArray(t))for(let i=0,o=t.length;i<o;++i)this.removeEventListener(t[i],e);else this.removeEventListener(t,e)}};class K extends L{constructor(t,e,i){super(t),this.key=e,this.oldValue=i}}const J=\"#000\",$=\"round\",q=\"round\";new class extends H{constructor(t){super(),this.ol_uid||(this.ol_uid=String(++c)),this.values_=null,void 0!==t&&this.setProperties(t)}get(t){let e;return this.values_&&this.values_.hasOwnProperty(t)&&(e=this.values_[t]),e}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(t,e){let i;i=`change:${t}`,this.hasListener(i)&&this.dispatchEvent(new K(i,t,e)),i=\"propertychange\",this.hasListener(i)&&this.dispatchEvent(new K(i,t,e))}addChangeListener(t,e){this.addEventListener(`change:${t}`,e)}removeChangeListener(t,e){this.removeEventListener(`change:${t}`,e)}set(t,e,i){const o=this.values_||(this.values_={});if(i)o[t]=e;else{const i=o[t];o[t]=e,i!==e&&this.notify(t,i)}}setProperties(t,e){for(const i in t)this.set(i,t[i],e)}applyProperties(t){t.values_&&Object.assign(this.values_||(this.values_={}),t.values_)}unset(t,e){if(this.values_&&t in this.values_){const i=this.values_[t];delete this.values_[t],function(t){let e;for(e in t)return!1;return!e}(this.values_)&&(this.values_=null),e||this.notify(t,i)}}};class Z extends g{constructor(t){super({opacity:1,rotateWithView:void 0!==t.rotateWithView&&t.rotateWithView,rotation:void 0!==t.rotation?t.rotation:0,scale:void 0!==t.scale?t.scale:1,displacement:void 0!==t.displacement?t.displacement:[0,0],declutterMode:t.declutterMode}),this.hitDetectionCanvas_=null,this.fill_=void 0!==t.fill?t.fill:null,this.origin_=[0,0],this.points_=t.points,this.radius=t.radius,this.radius2_=t.radius2,this.angle_=void 0!==t.angle?t.angle:0,this.stroke_=void 0!==t.stroke?t.stroke:null,this.imageState_=this.fill_&&this.fill_.loading()?1:2,1===this.imageState_&&this.ready().then(()=>this.imageState_=2),this.render()}clone(){const t=this.getScale(),e=new Z({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(t)?t.slice():t,displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()});return e.setOpacity(this.getOpacity()),e}getAnchor(){const t=this.size_,e=this.getDisplacement(),i=this.getScaleArray();return[t[0]/2-e[0]/i[0],t[1]/2+e[1]/i[1]]}getAngle(){return this.angle_}getFill(){return this.fill_}setFill(t){this.fill_=t,this.render()}getHitDetectionImage(){return this.hitDetectionCanvas_||(this.hitDetectionCanvas_=this.createHitDetectionCanvas_(this.renderOptions_)),this.hitDetectionCanvas_}getImage(t){let e=this.canvases_[t];if(!e){const i=this.renderOptions_,o=D(i.size*t,i.size*t);this.draw_(i,o,t),e=o.canvas,this.canvases_[t]=e}return e}getPixelRatio(t){return t}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(t){this.stroke_=t,this.render()}listenImageChange(t){}load(){}unlistenImageChange(t){}calculateLineJoinSize_(t,e,i){if(0===e||Infinity===this.points_||\"bevel\"!==t&&\"miter\"!==t)return e;let o=this.radius,s=void 0===this.radius2_?o:this.radius2_;if(o<s){const t=o;o=s,s=t}const r=2*Math.PI/(void 0===this.radius2_?this.points_:2*this.points_),n=s*Math.sin(r),a=o-Math.sqrt(s*s-n*n),l=Math.sqrt(n*n+a*a),h=l/n;if(\"miter\"===t&&h<=i)return h*e;const c=e/2/h,d=e/2*(a/l),u=Math.sqrt((o+c)*(o+c)+d*d)-o;if(void 0===this.radius2_||\"bevel\"===t)return 2*u;const g=o*Math.sin(r),p=s-Math.sqrt(o*o-g*g),y=Math.sqrt(g*g+p*p)/g;return y<=i?2*Math.max(u,y*e/2-s-o):2*u}createRenderOptions(){let t,e=$,i=q,o=0,s=null,r=0,n=0;this.stroke_&&(t=Y(this.stroke_.getColor()??\"#000\"),n=this.stroke_.getWidth()??1,s=this.stroke_.getLineDash(),r=this.stroke_.getLineDashOffset()??0,i=this.stroke_.getLineJoin()??q,e=this.stroke_.getLineCap()??$,o=this.stroke_.getMiterLimit()??10);const a=this.calculateLineJoinSize_(i,n,o),l=Math.max(this.radius,this.radius2_||0);return{strokeStyle:t,strokeWidth:n,size:Math.ceil(2*l+a),lineCap:e,lineDash:s,lineDashOffset:r,lineJoin:i,miterLimit:o}}render(){this.renderOptions_=this.createRenderOptions();const t=this.renderOptions_.size;this.canvases_={},this.hitDetectionCanvas_=null,this.size_=[t,t]}draw_(t,e,i){if(e.scale(i,i),e.translate(t.size/2,t.size/2),this.createPath_(e),this.fill_){let t=this.fill_.getColor();null===t&&(t=J),e.fillStyle=Y(t),e.fill()}t.strokeStyle&&(e.strokeStyle=t.strokeStyle,e.lineWidth=t.strokeWidth,t.lineDash&&(e.setLineDash(t.lineDash),e.lineDashOffset=t.lineDashOffset),e.lineCap=t.lineCap,e.lineJoin=t.lineJoin,e.miterLimit=t.miterLimit,e.stroke())}createHitDetectionCanvas_(t){let e;if(this.fill_){let i=this.fill_.getColor(),o=0;\"string\"==typeof i&&(i=w(i)),null===i?o=1:Array.isArray(i)&&(o=4===i.length?i[3]:1),0===o&&(e=D(t.size,t.size),this.drawHitDetectionCanvas_(t,e))}return e?e.canvas:this.getImage(1)}createPath_(t){let e=this.points_;const i=this.radius;if(Infinity===e)t.arc(0,0,i,0,2*Math.PI);else{const o=void 0===this.radius2_?i:this.radius2_;void 0!==this.radius2_&&(e*=2);const s=this.angle_-Math.PI/2,r=2*Math.PI/e;for(let n=0;n<e;n++){const e=s+n*r,a=n%2==0?i:o;t.lineTo(a*Math.cos(e),a*Math.sin(e))}t.closePath()}}drawHitDetectionCanvas_(t,e){e.translate(t.size/2,t.size/2),this.createPath_(e),e.fillStyle=J,e.fill(),t.strokeStyle&&(e.strokeStyle=t.strokeStyle,e.lineWidth=t.strokeWidth,t.lineDash&&(e.setLineDash(t.lineDash),e.lineDashOffset=t.lineDashOffset),e.lineJoin=t.lineJoin,e.miterLimit=t.miterLimit,e.stroke())}ready(){return this.fill_?this.fill_.ready():Promise.resolve()}}var Q=Z;class tt extends Q{constructor(t){super({points:Infinity,fill:(t=t||{radius:5}).fill,radius:t.radius,stroke:t.stroke,scale:void 0!==t.scale?t.scale:1,rotation:void 0!==t.rotation?t.rotation:0,rotateWithView:void 0!==t.rotateWithView&&t.rotateWithView,displacement:void 0!==t.displacement?t.displacement:[0,0],declutterMode:t.declutterMode})}clone(){const t=this.getScale(),e=new tt({fill:this.getFill()?this.getFill().clone():void 0,stroke:this.getStroke()?this.getStroke().clone():void 0,radius:this.getRadius(),scale:Array.isArray(t)?t.slice():t,rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()});return e.setOpacity(this.getOpacity()),e}setRadius(t){this.radius=t,this.render()}}var et=tt;class it{constructor(t){t=t||{},this.patternImage_=null,this.color_=null,void 0!==t.color&&this.setColor(t.color)}clone(){const t=this.getColor();return new it({color:Array.isArray(t)?t.slice():t||void 0})}getColor(){return this.color_}setColor(t){if(null!==t&&\"object\"==typeof t&&\"src\"in t){const e=U(null,t.src,\"anonymous\",void 0,t.offset?null:t.color?t.color:null,!(t.offset&&t.size));e.ready().then(()=>{this.patternImage_=null}),0===e.getImageState()&&e.load(),1===e.getImageState()&&(this.patternImage_=e)}this.color_=t}loading(){return!!this.patternImage_}ready(){return this.patternImage_?this.patternImage_.ready():Promise.resolve()}}var ot=it;class st{constructor(t){this.color_=void 0!==(t=t||{}).color?t.color:null,this.lineCap_=t.lineCap,this.lineDash_=void 0!==t.lineDash?t.lineDash:null,this.lineDashOffset_=t.lineDashOffset,this.lineJoin_=t.lineJoin,this.miterLimit_=t.miterLimit,this.width_=t.width}clone(){const t=this.getColor();return new st({color:Array.isArray(t)?t.slice():t||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(t){this.color_=t}setLineCap(t){this.lineCap_=t}setLineDash(t){this.lineDash_=t}setLineDashOffset(t){this.lineDashOffset_=t}setLineJoin(t){this.lineJoin_=t}setMiterLimit(t){this.miterLimit_=t}setWidth(t){this.width_=t}}var rt=st;class nt{constructor(t){t=t||{},this.geometry_=null,this.geometryFunction_=at,void 0!==t.geometry&&this.setGeometry(t.geometry),this.fill_=void 0!==t.fill?t.fill:null,this.image_=void 0!==t.image?t.image:null,this.renderer_=void 0!==t.renderer?t.renderer:null,this.hitDetectionRenderer_=void 0!==t.hitDetectionRenderer?t.hitDetectionRenderer:null,this.stroke_=void 0!==t.stroke?t.stroke:null,this.text_=void 0!==t.text?t.text:null,this.zIndex_=t.zIndex}clone(){let t=this.getGeometry();return t&&\"object\"==typeof t&&(t=t.clone()),new nt({geometry:t??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(t){this.renderer_=t}setHitDetectionRenderer(t){this.hitDetectionRenderer_=t}getHitDetectionRenderer(){return this.hitDetectionRenderer_}getGeometry(){return this.geometry_}getGeometryFunction(){return this.geometryFunction_}getFill(){return this.fill_}setFill(t){this.fill_=t}getImage(){return this.image_}setImage(t){this.image_=t}getStroke(){return this.stroke_}setStroke(t){this.stroke_=t}getText(){return this.text_}setText(t){this.text_=t}getZIndex(){return this.zIndex_}setGeometry(t){\"function\"==typeof t?this.geometryFunction_=t:\"string\"==typeof t?this.geometryFunction_=function(e){return e.get(t)}:t?void 0!==t&&(this.geometryFunction_=function(){return t}):this.geometryFunction_=at,this.geometry_=t}setZIndex(t){this.zIndex_=t}}function at(t){return t.getGeometry()}var lt=nt;const ht={radians:6370997/(2*Math.PI),degrees:2*Math.PI*6370997/360,ft:.3048,m:1,\"us-ft\":1200/3937};var ct=class{constructor(t){this.code_=t.code,this.units_=t.units,this.extent_=void 0!==t.extent?t.extent:null,this.worldExtent_=void 0!==t.worldExtent?t.worldExtent:null,this.axisOrientation_=void 0!==t.axisOrientation?t.axisOrientation:\"enu\",this.global_=void 0!==t.global&&t.global,this.canWrapX_=!(!this.global_||!this.extent_),this.getPointResolutionFunc_=t.getPointResolution,this.defaultTileGrid_=null,this.metersPerUnit_=t.metersPerUnit}canWrapX(){return this.canWrapX_}getCode(){return this.code_}getExtent(){return this.extent_}getUnits(){return this.units_}getMetersPerUnit(){return this.metersPerUnit_||ht[this.units_]}getWorldExtent(){return this.worldExtent_}getAxisOrientation(){return this.axisOrientation_}isGlobal(){return this.global_}setGlobal(t){this.global_=t,this.canWrapX_=!(!t||!this.extent_)}getDefaultTileGrid(){return this.defaultTileGrid_}setDefaultTileGrid(t){this.defaultTileGrid_=t}setExtent(t){this.extent_=t,this.canWrapX_=!(!this.global_||!t)}setWorldExtent(t){this.worldExtent_=t}setGetPointResolution(t){this.getPointResolutionFunc_=t}getPointResolutionFunc(){return this.getPointResolutionFunc_}};const dt=6378137,ut=Math.PI*dt,gt=[-ut,-ut,ut,ut],pt=[-180,-85,180,85],yt=dt*Math.log(Math.tan(Math.PI/2));class mt extends ct{constructor(t){super({code:t,units:\"m\",extent:gt,global:!0,worldExtent:pt,getPointResolution:function(t,e){return t/Math.cosh(e[1]/dt)}})}}const ft=[new mt(\"EPSG:3857\"),new mt(\"EPSG:102100\"),new mt(\"EPSG:102113\"),new mt(\"EPSG:900913\"),new mt(\"http://www.opengis.net/def/crs/EPSG/0/3857\"),new mt(\"http://www.opengis.net/gml/srs/epsg.xml#3857\")],vt=[-180,-90,180,90],_t=6378137*Math.PI/180;class Ct extends ct{constructor(t,e){super({code:t,units:\"degrees\",extent:vt,axisOrientation:e,global:!0,metersPerUnit:_t,worldExtent:vt})}}const Pt=[new Ct(\"CRS:84\"),new Ct(\"EPSG:4326\",\"neu\"),new Ct(\"urn:ogc:def:crs:OGC:1.3:CRS84\"),new Ct(\"urn:ogc:def:crs:OGC:2:84\"),new Ct(\"http://www.opengis.net/def/crs/OGC/1.3/CRS84\"),new Ct(\"http://www.opengis.net/gml/srs/epsg.xml#4326\",\"neu\"),new Ct(\"http://www.opengis.net/def/crs/EPSG/0/4326\",\"neu\")];let xt={},Mt={};function wt(t,e,i){const o=t.getCode(),s=e.getCode();o in Mt||(Mt[o]={}),Mt[o][s]=i}function St(t,e){if(void 0!==e)for(let i=0,o=t.length;i<o;++i)e[i]=t[i];else e=t.slice();return e}function bt(t,e){if(void 0!==e&&t!==e){for(let i=0,o=t.length;i<o;++i)e[i]=t[i];t=e}return t}function Et(t){!function(t,e){xt[t]=e}(t.getCode(),t),wt(t,t,St)}function It(t){return\"string\"==typeof t?xt[e=t]||xt[e.replace(/urn:(x-)?ogc:def:crs:EPSG:(.*:)?(\\w+)$/,\"EPSG:$3\")]||null:t||null;var e}function Dt(t){!function(t){t.forEach(Et)}(t),t.forEach(function(e){t.forEach(function(t){e!==t&&wt(e,t,St)})})}function kt(t,e,i){const o=function(t,e){return function(t,e){let i=function(t,e){let i;return t in Mt&&e in Mt[t]&&(i=Mt[t][e]),i}(t.getCode(),e.getCode());return i||(i=bt),i}(It(t),It(e))}(e,i);return o(t,void 0,t.length)}var Ft,Ot,Lt,Wt;Dt(ft),Dt(Pt),Ft=ft,Ot=function(t,e,i){const o=t.length;i=i>1?i:2,void 0===e&&(e=i>2?t.slice():new Array(o));for(let s=0;s<o;s+=i){e[s]=ut*t[s]/180;let i=dt*Math.log(Math.tan(Math.PI*(+t[s+1]+90)/360));i>yt?i=yt:i<-yt&&(i=-yt),e[s+1]=i}return e},Lt=function(t,e,i){const o=t.length;i=i>1?i:2,void 0===e&&(e=i>2?t.slice():new Array(o));for(let s=0;s<o;s+=i)e[s]=180*t[s]/ut,e[s+1]=360*Math.atan(Math.exp(t[s+1]/dt))/Math.PI-90;return e},Pt.forEach(function(t){Ft.forEach(function(e){wt(t,e,Ot),wt(e,t,Lt)})});class jt extends s{constructor(t){super(t),this.stylingFunction=()=>({}),this._lib=void 0,this._map=void 0,this._container=void 0,this._projection=\"EPSG:3857\",this._vectorSource=void 0,this._geoJSONReader=void 0,this._map=t.map,this._lib=t.lib,this._geoJSONReader=new this._lib.GeoJSON,this._container=this._map.getViewport(),this._container.setAttribute(\"tabindex\",\"0\");const e=new this._lib.VectorSource({features:[]});this._vectorSource=e;const i=new this._lib.VectorLayer({source:e,style:t=>this.getStyles(t,this.stylingFunction())});this._map.addLayer(i)}hexToRGB(t){return{r:parseInt(t.slice(1,3),16),g:parseInt(t.slice(3,5),16),b:parseInt(t.slice(5,7),16)}}getStyles(t,e){const i=t.getGeometry();if(i)return{Point:t=>{const i=t.getProperties(),o=e[i.mode]({type:\"Feature\",geometry:{type:\"Point\",coordinates:[]},properties:i});return new this._lib.Style({image:new et({radius:o.pointWidth,fill:new ot({color:o.pointColor}),stroke:new rt({color:o.pointOutlineColor,width:o.pointOutlineWidth})})})},LineString:t=>{const i=t.getProperties(),o=e[i.mode]({type:\"Feature\",geometry:{type:\"LineString\",coordinates:[]},properties:i});return new this._lib.Style({stroke:new this._lib.Stroke({color:o.lineStringColor,width:o.lineStringWidth})})},Polygon:t=>{const i=t.getProperties(),o=e[i.mode]({type:\"Feature\",geometry:{type:\"LineString\",coordinates:[]},properties:i}),{r:s,g:r,b:n}=this.hexToRGB(o.polygonFillColor);return new lt({stroke:new rt({color:o.polygonOutlineColor,width:o.polygonOutlineWidth}),fill:new ot({color:`rgba(${s},${r},${n},${o.polygonFillOpacity})`})})}}[i.getType()](t)}clearLayers(){this._vectorSource&&this._vectorSource.clear()}addFeature(t){if(!this._vectorSource||!this._geoJSONReader)throw new Error(\"Vector Source not initalised\");{const e=this._geoJSONReader.readFeature(t,{featureProjection:this._projection});this._vectorSource.addFeature(e)}}removeFeature(t){if(!this._vectorSource)throw new Error(\"Vector Source not initalised\");{const e=this._vectorSource.getFeatureById(t);if(!e)return;this._vectorSource.removeFeature(e)}}getLngLatFromEvent(t){const{containerX:e,containerY:i}=this.getMapElementXYPosition(t);try{return this.unproject(e,i)}catch(t){return null}}getMapEventElement(){const t=this._container.querySelectorAll(\"canvas\");if(t.length>1)throw Error(\"Terra Draw currently only supports 1 canvas with OpenLayers\");return t[0]}setDraggability(t){this._map.getInteractions().forEach(e=>{\"DragPan\"===e.constructor.name&&e.setActive(t)})}project(t,e){const[i,o]=this._map.getPixelFromCoordinate(kt([t,e],\"EPSG:4326\",\"EPSG:3857\"));return{x:i,y:o}}unproject(t,e){const[i,o]=function(t,e){const i=kt(t,\"EPSG:3857\",\"EPSG:4326\"),o=i[0];return(o<-180||o>180)&&(i[0]=function(t,e){const i=t%360;return 360*i<0?i+360:i}(o+180)-180),i}(this._map.getCoordinateFromPixel([t,e]));return{lng:i,lat:o}}setCursor(t){\"unset\"===t?this.getMapEventElement().style.removeProperty(\"cursor\"):this.getMapEventElement().style.cursor=t}setDoubleClickToZoom(t){this._map.getInteractions().forEach(function(e){\"DoubleClickZoom\"===e.constructor.name&&e.setActive(t)})}render(t,e){if(this.stylingFunction=()=>e,!this._vectorSource)throw new Error(\"Vector Layer source has disappeared\");t.deletedIds.forEach(t=>{this.removeFeature(t)}),t.updated.forEach(t=>{this.removeFeature(t.id),this.addFeature(t)}),t.created.forEach(t=>{this.addFeature(t)})}clear(){this._currentModeCallbacks&&(this._currentModeCallbacks.onClear(),this.clearLayers())}register(t){super.register(t),this._currentModeCallbacks&&this._currentModeCallbacks.onReady&&this._currentModeCallbacks.onReady()}getCoordinatePrecision(){return super.getCoordinatePrecision()}unregister(){return super.unregister()}}class Bt extends s{constructor(t){super(t),this._lib=void 0,this._mapView=void 0,this._container=void 0,this._featureIdAttributeName=\"__tdId\",this._featureLayerName=\"__terraDrawFeatures\",this._featureLayer=void 0,this._dragEnabled=!0,this._zoomEnabled=!0,this._dragHandler=void 0,this._doubleClickHandler=void 0,this._mapView=t.map,this._lib=t.lib,this._container=this._mapView.container,this._featureLayer=new this._lib.GraphicsLayer({id:this._featureLayerName}),this._mapView.map.add(this._featureLayer)}register(t){super.register(t),this._dragHandler=this._mapView.on(\"drag\",t=>{this._dragEnabled||t.stopPropagation()}),this._doubleClickHandler=this._mapView.on(\"double-click\",t=>{this._zoomEnabled||t.stopPropagation()}),this._currentModeCallbacks&&this._currentModeCallbacks.onReady&&this._currentModeCallbacks.onReady()}unregister(){super.unregister(),this._dragHandler&&this._dragHandler.remove(),this._doubleClickHandler&&this._doubleClickHandler.remove()}getCoordinatePrecision(){return super.getCoordinatePrecision()}getLngLatFromEvent(t){const{containerX:e,containerY:i}=this.getMapElementXYPosition(t);return this.unproject(e,i)}getMapEventElement(){return this._container.querySelector(\".esri-view-surface\")}setDraggability(t){this._dragEnabled=t}project(t,e){const i=new this._lib.Point({longitude:t,latitude:e}),{x:o,y:s}=this._mapView.toScreen(i);return{x:o,y:s}}unproject(t,e){const{latitude:i,longitude:o}=this._mapView.toMap({x:t,y:e});return{lng:o,lat:i}}setCursor(t){\"unset\"===t?this.getMapEventElement().style.removeProperty(\"cursor\"):this.getMapEventElement().style.cursor=t}setDoubleClickToZoom(t){this._zoomEnabled=t}render(t,e){t.created.forEach(t=>{this.addFeature(t,e)}),t.updated.forEach(t=>{this.removeFeatureById(t.id),this.addFeature(t,e)}),t.deletedIds.forEach(t=>{this.removeFeatureById(t)})}clear(){this._featureLayer.graphics.removeAll()}removeFeatureById(t){const e=this._featureLayer.graphics.find(e=>e.attributes[this._featureIdAttributeName]===t);this._featureLayer.remove(e)}addFeature(t,e){const{coordinates:i,type:o}=t.geometry,s=e[t.properties.mode](t);let r,n;switch(o){case\"Point\":n=new this._lib.Point({latitude:i[1],longitude:i[0]}),r=new this._lib.SimpleMarkerSymbol({color:this.getColorFromHex(s.pointColor),size:2*s.pointWidth+\"px\",outline:{color:this.getColorFromHex(s.pointOutlineColor),width:s.pointOutlineWidth+\"px\"}});break;case\"LineString\":n=new this._lib.Polyline({paths:[i]}),r=new this._lib.SimpleLineSymbol({color:this.getColorFromHex(s.lineStringColor),width:s.lineStringWidth+\"px\"});break;case\"Polygon\":n=new this._lib.Polygon({rings:i}),r=new this._lib.SimpleFillSymbol({color:this.getColorFromHex(s.polygonFillColor,s.polygonFillOpacity),outline:{color:this.getColorFromHex(s.polygonOutlineColor),width:s.polygonOutlineWidth+\"px\"}})}const a=new this._lib.Graphic({geometry:n,symbol:r,attributes:{[this._featureIdAttributeName]:t.id}});\"Point\"===o?this._featureLayer.graphics.add(a):this._featureLayer.graphics.add(a,0)}getColorFromHex(t,e){const i=this._lib.Color.fromHex(t);return e&&(i.a=e),i}}!function(t){t.Commit=\"commit\",t.Provisional=\"provisional\",t.Finish=\"finish\"}(Wt||(Wt={}));const Gt=\"selected\",Nt=\"midPoint\",At=\"closingPoint\";function Rt(t){return Boolean(t&&\"object\"==typeof t&&null!==t&&!Array.isArray(t))}function Vt(t){if(!function(t){return\"number\"==typeof t&&!isNaN(new Date(t).valueOf())}(t))throw new Error(\"updatedAt and createdAt are not valid timestamps\");return!0}var zt;!function(t){t.Drawing=\"drawing\",t.Select=\"select\",t.Static=\"static\",t.Render=\"render\"}(zt||(zt={}));class Tt{get state(){return this._state}set state(t){throw new Error(\"Please use the modes lifecycle methods\")}get styles(){return this._styles}set styles(t){if(\"object\"!=typeof t)throw new Error(\"Styling must be an object\");this.onStyleChange([],\"styling\"),this._styles=t}registerBehaviors(t){}constructor(e){this._state=void 0,this._styles=void 0,this.behaviors=[],this.validate=void 0,this.pointerDistance=void 0,this.coordinatePrecision=void 0,this.onStyleChange=void 0,this.store=void 0,this.setDoubleClickToZoom=void 0,this.unproject=void 0,this.project=void 0,this.setCursor=void 0,this.projection=void 0,this.type=zt.Drawing,this.mode=\"base\",this._state=\"unregistered\",this._styles=e&&e.styles?t({},e.styles):{},this.pointerDistance=e&&e.pointerDistance||40,this.validate=e&&e.validation,this.projection=e&&e.projection||\"web-mercator\"}setDrawing(){if(\"started\"!==this._state)throw new Error(\"Mode must be unregistered or stopped to start\");this._state=\"drawing\"}setStarted(){if(\"stopped\"!==this._state&&\"registered\"!==this._state&&\"drawing\"!==this._state&&\"selecting\"!==this._state)throw new Error(\"Mode must be unregistered or stopped to start\");this._state=\"started\",this.setDoubleClickToZoom(!1)}setStopped(){if(\"started\"!==this._state)throw new Error(\"Mode must be started to be stopped\");this._state=\"stopped\",this.setDoubleClickToZoom(!0)}register(t){if(\"unregistered\"!==this._state)throw new Error(\"Can not register unless mode is unregistered\");this._state=\"registered\",this.store=t.store,this.store.registerOnChange(t.onChange),this.setDoubleClickToZoom=t.setDoubleClickToZoom,this.project=t.project,this.unproject=t.unproject,this.onSelect=t.onSelect,this.onDeselect=t.onDeselect,this.setCursor=t.setCursor,this.onStyleChange=t.onChange,this.onFinish=t.onFinish,this.coordinatePrecision=t.coordinatePrecision,this.registerBehaviors({mode:t.mode,store:this.store,project:this.project,unproject:this.unproject,pointerDistance:this.pointerDistance,coordinatePrecision:t.coordinatePrecision,projection:this.projection})}validateFeature(t){if(\"unregistered\"===this._state)throw new Error(\"Mode must be registered\");const e=function(t,e){let i;if(Rt(t))if(null==t.id)i=\"Feature has no id\";else if(\"string\"!=typeof t.id&&\"number\"!=typeof t.id)i=\"Feature must be string or number as per GeoJSON spec\";else if(e(t.id))if(Rt(t.geometry))if(Rt(t.properties))if(\"string\"==typeof t.geometry.type&&[\"Polygon\",\"LineString\",\"Point\"].includes(t.geometry.type))if(Array.isArray(t.geometry.coordinates)){if(!t.properties.mode||\"string\"!=typeof t.properties.mode)throw new Error(\"Feature does not have a valid mode property\")}else i=\"Feature coordinates is not an array\";else i=\"Feature is not Point, LineString or Polygon\";else i=\"Feature has no properties\";else i=\"Feature has no geometry\";else i=\"Feature must match the id strategy (default is UUID4)\";else i=\"Feature is not object\";if(i)throw new Error(i);return!0}(t,this.store.idStrategy.isValidId);return this.validate?this.validate(t,{project:this.project,unproject:this.unproject,coordinatePrecision:this.coordinatePrecision,updateType:Wt.Provisional}):e}onFinish(t,e){}onDeselect(t){}onSelect(t){}onKeyDown(t){}onKeyUp(t){}onMouseMove(t){}onClick(t){}onDragStart(t,e){}onDrag(t,e){}onDragEnd(t,e){}getHexColorStylingValue(t,e,i){return this.getStylingValue(t,e,i)}getNumericStylingValue(t,e,i){return this.getStylingValue(t,e,i)}getStylingValue(t,e,i){return void 0===t?e:\"function\"==typeof t?t(i):t}}class Xt extends Tt{constructor(...t){super(...t),this.type=zt.Select}}function Ut(t,e){const i=t=>t*Math.PI/180,o=i(t[1]),s=i(t[0]),r=i(e[1]),n=r-o,a=i(e[0])-s,l=Math.sin(n/2)*Math.sin(n/2)+Math.cos(o)*Math.cos(r)*Math.sin(a/2)*Math.sin(a/2);return 2*Math.atan2(Math.sqrt(l),Math.sqrt(1-l))*6371e3/1e3}const Yt=6371008.8;function Ht(t){return t%360*Math.PI/180}function Kt(t){return t/(Yt/1e3)}function Jt(t){return t%(2*Math.PI)*180/Math.PI}const $t=57.29577951308232,qt=.017453292519943295,Zt=6378137,Qt=(t,e)=>({x:0===t?0:t*qt*Zt,y:0===e?0:Math.log(Math.tan(Math.PI/4+e*qt/2))*Zt}),te=(t,e)=>({lng:0===t?0:$t*(t/Zt),lat:0===e?0:(2*Math.atan(Math.exp(e/Zt))-Math.PI/2)*$t});function ee(t,e,i){const o=Ht(t[0]),s=Ht(t[1]),r=Ht(i),n=Kt(e),a=Math.asin(Math.sin(s)*Math.cos(n)+Math.cos(s)*Math.sin(n)*Math.cos(r));return[Jt(o+Math.atan2(Math.sin(r)*Math.sin(n)*Math.cos(s),Math.cos(n)-Math.sin(s)*Math.sin(a))),Jt(a)]}function ie(t){const{center:i,radiusKilometers:o,coordinatePrecision:s}=t,r=t.steps?t.steps:64,n=[];for(let t=0;t<r;t++){const a=ee(i,o,-360*t/r);n.push([e(a[0],s),e(a[1],s)])}return n.push(n[0]),{type:\"Feature\",geometry:{type:\"Polygon\",coordinates:[n]},properties:{}}}function oe(t){const e={epsilon:0};let i;if(\"Polygon\"===t.geometry.type)i=t.geometry.coordinates;else{if(\"LineString\"!==t.geometry.type)throw new Error(\"Self intersects only accepts Polygons and LineStrings\");i=[t.geometry.coordinates]}const o=[];for(let t=0;t<i.length;t++)for(let e=0;e<i[t].length-1;e++)for(let o=0;o<i.length;o++)for(let s=0;s<i[o].length-1;s++)r(t,e,o,s);return o.length>0;function s(t){return t<0-e.epsilon||t>1+e.epsilon}function r(t,e,r,n){const a=i[t][e],l=i[t][e+1],h=i[r][n],c=i[r][n+1],d=function(t,e,i,o){if(se(t,i)||se(t,o)||se(e,i)||se(o,i))return null;const s=t[0],r=t[1],n=e[0],a=e[1],l=i[0],h=i[1],c=o[0],d=o[1],u=(s-n)*(h-d)-(r-a)*(l-c);return 0===u?null:[((s*a-r*n)*(l-c)-(s-n)*(l*d-h*c))/u,((s*a-r*n)*(h-d)-(r-a)*(l*d-h*c))/u]}(a,l,h,c);if(null===d)return;let u,g;u=l[0]!==a[0]?(d[0]-a[0])/(l[0]-a[0]):(d[1]-a[1])/(l[1]-a[1]),g=c[0]!==h[0]?(d[0]-h[0])/(c[0]-h[0]):(d[1]-h[1])/(c[1]-h[1]),s(u)||s(g)||(d.toString(),o.push(d))}}function se(t,e){return t[0]===e[0]&&t[1]===e[1]}function re(t,e){return 2===t.length&&\"number\"==typeof t[0]&&\"number\"==typeof t[1]&&Infinity!==t[0]&&Infinity!==t[1]&&(o=t[0])>=-180&&o<=180&&(i=t[1])>=-90&&i<=90&&ne(t[0])<=e&&ne(t[1])<=e;var i,o}function ne(t){let e=1,i=0;for(;Math.round(t*e)/e!==t;)e*=10,i++;return i}function ae(t,e){return\"Polygon\"===t.geometry.type&&1===t.geometry.coordinates.length&&t.geometry.coordinates[0].length>=4&&t.geometry.coordinates[0].every(t=>re(t,e))&&(i=t.geometry.coordinates[0][0])[0]===(o=t.geometry.coordinates[0][t.geometry.coordinates[0].length-1])[0]&&i[1]===o[1];var i,o}function le(t,e){return ae(t,e)&&!oe(t)}class he extends Tt{constructor(e){var i;super(e),this.mode=\"circle\",this.center=void 0,this.clickCount=0,this.currentCircleId=void 0,this.keyEvents=void 0,this.cursors=void 0,this.startingRadiusKilometers=1e-5;const o={start:\"crosshair\"};if(this.cursors=e&&e.cursors?t({},o,e.cursors):o,null===(null==e?void 0:e.keyEvents))this.keyEvents={cancel:null,finish:null};else{const i={cancel:\"Escape\",finish:\"Enter\"};this.keyEvents=e&&e.keyEvents?t({},i,e.keyEvents):i}this.startingRadiusKilometers=null!=(i=null==e?void 0:e.startingRadiusKilometers)?i:1e-5,this.validate=null==e?void 0:e.validation}close(){if(void 0===this.currentCircleId)return;const t=this.currentCircleId;if(this.validate&&t){const e=this.store.getGeometryCopy(t);if(!this.validate({type:\"Feature\",id:t,geometry:e,properties:{}},{project:this.project,unproject:this.unproject,coordinatePrecision:this.coordinatePrecision,updateType:Wt.Finish}))return}this.center=void 0,this.currentCircleId=void 0,this.clickCount=0,\"drawing\"===this.state&&this.setStarted(),this.onFinish(t,{mode:this.mode,action:\"draw\"})}start(){this.setStarted(),this.setCursor(this.cursors.start)}stop(){this.cleanUp(),this.setStopped(),this.setCursor(\"unset\")}onClick(t){if(0===this.clickCount){this.center=[t.lng,t.lat];const e=ie({center:this.center,radiusKilometers:this.startingRadiusKilometers,coordinatePrecision:this.coordinatePrecision}),[i]=this.store.create([{geometry:e.geometry,properties:{mode:this.mode,radiusKilometers:this.startingRadiusKilometers}}]);this.currentCircleId=i,this.clickCount++,this.setDrawing()}else 1===this.clickCount&&this.center&&void 0!==this.currentCircleId&&this.updateCircle(t),this.close()}onMouseMove(t){this.updateCircle(t)}onKeyDown(){}onKeyUp(t){t.key===this.keyEvents.cancel?this.cleanUp():t.key===this.keyEvents.finish&&this.close()}onDragStart(){}onDrag(){}onDragEnd(){}cleanUp(){const t=this.currentCircleId;this.center=void 0,this.currentCircleId=void 0,this.clickCount=0,\"drawing\"===this.state&&this.setStarted();try{void 0!==t&&this.store.delete([t])}catch(t){}}styleFeature(e){const i=t({},{polygonFillColor:\"#3f97e0\",polygonOutlineColor:\"#3f97e0\",polygonOutlineWidth:4,polygonFillOpacity:.3,pointColor:\"#3f97e0\",pointOutlineColor:\"#ffffff\",pointOutlineWidth:0,pointWidth:6,lineStringColor:\"#3f97e0\",lineStringWidth:4,zIndex:0});return\"Feature\"===e.type&&\"Polygon\"===e.geometry.type&&e.properties.mode===this.mode?(i.polygonFillColor=this.getHexColorStylingValue(this.styles.fillColor,i.polygonFillColor,e),i.polygonOutlineColor=this.getHexColorStylingValue(this.styles.outlineColor,i.polygonOutlineColor,e),i.polygonOutlineWidth=this.getNumericStylingValue(this.styles.outlineWidth,i.polygonOutlineWidth,e),i.polygonFillOpacity=this.getNumericStylingValue(this.styles.fillOpacity,i.polygonFillOpacity,e),i.zIndex=10,i):i}validateFeature(t){return!!super.validateFeature(t)&&t.properties.mode===this.mode&&le(t,this.coordinatePrecision)}updateCircle(t){if(1===this.clickCount&&this.center&&this.currentCircleId){const i=Ut(this.center,[t.lng,t.lat]);let o;if(\"web-mercator\"===this.projection){const s=function(t,e){const i=1e3*Ut(t,e);if(0===i)return 1;const{x:o,y:s}=Qt(t[0],t[1]),{x:r,y:n}=Qt(e[0],e[1]);return Math.sqrt(Math.pow(r-o,2)+Math.pow(n-s,2))/i}(this.center,[t.lng,t.lat]);o=function(t){const{center:i,radiusKilometers:o,coordinatePrecision:s}=t,r=t.steps?t.steps:64,n=1e3*o,[a,l]=i,{x:h,y:c}=Qt(a,l),d=[];for(let t=0;t<r;t++){const i=360*t/r*Math.PI/180,o=n*Math.cos(i),a=n*Math.sin(i),[l,u]=[h+o,c+a],{lng:g,lat:p}=te(l,u);d.push([e(g,s),e(p,s)])}return d.push(d[0]),{type:\"Feature\",geometry:{type:\"Polygon\",coordinates:[d]},properties:{}}}({center:this.center,radiusKilometers:i*s,coordinatePrecision:this.coordinatePrecision})}else{if(\"globe\"!==this.projection)throw new Error(\"Invalid projection\");o=ie({center:this.center,radiusKilometers:i,coordinatePrecision:this.coordinatePrecision})}if(this.validate&&!this.validate({type:\"Feature\",id:this.currentCircleId,geometry:o.geometry,properties:{radiusKilometers:i}},{project:this.project,unproject:this.unproject,coordinatePrecision:this.coordinatePrecision,updateType:Wt.Provisional}))return;this.store.updateGeometry([{id:this.currentCircleId,geometry:o.geometry}]),this.store.updateProperty([{id:this.currentCircleId,property:\"radiusKilometers\",value:i}])}}}class ce extends Tt{constructor(e){super(e),this.mode=\"freehand\",this.startingClick=!1,this.currentId=void 0,this.closingPointId=void 0,this.minDistance=void 0,this.keyEvents=void 0,this.cursors=void 0,this.preventPointsNearClose=void 0;const i={start:\"crosshair\",close:\"pointer\"};if(this.cursors=e&&e.cursors?t({},i,e.cursors):i,this.preventPointsNearClose=e&&e.preventPointsNearClose||!0,this.minDistance=e&&e.minDistance||20,null===(null==e?void 0:e.keyEvents))this.keyEvents={cancel:null,finish:null};else{const i={cancel:\"Escape\",finish:\"Enter\"};this.keyEvents=e&&e.keyEvents?t({},i,e.keyEvents):i}this.validate=null==e?void 0:e.validation}close(){if(void 0===this.currentId)return;const t=this.currentId;if(this.validate&&t){const e=this.store.getGeometryCopy(t);if(!this.validate({type:\"Feature\",id:t,geometry:e,properties:{}},{project:this.project,unproject:this.unproject,coordinatePrecision:this.coordinatePrecision,updateType:Wt.Finish}))return}this.closingPointId&&this.store.delete([this.closingPointId]),this.startingClick=!1,this.currentId=void 0,this.closingPointId=void 0,\"drawing\"===this.state&&this.setStarted(),this.onFinish(t,{mode:this.mode,action:\"draw\"})}start(){this.setStarted(),this.setCursor(this.cursors.start)}stop(){this.cleanUp(),this.setStopped(),this.setCursor(\"unset\")}onMouseMove(t){if(void 0===this.currentId||!1===this.startingClick)return;const e=this.store.getGeometryCopy(this.currentId),o=e.coordinates[0].length-2,[s,r]=e.coordinates[0][o],{x:n,y:a}=this.project(s,r),l=i({x:n,y:a},{x:t.containerX,y:t.containerY}),[h,c]=e.coordinates[0][0],{x:d,y:u}=this.project(h,c);if(i({x:d,y:u},{x:t.containerX,y:t.containerY})<this.pointerDistance){if(this.setCursor(this.cursors.close),this.preventPointsNearClose)return}else this.setCursor(this.cursors.start);if(l<this.minDistance)return;e.coordinates[0].pop();const g={type:\"Polygon\",coordinates:[[...e.coordinates[0],[t.lng,t.lat],e.coordinates[0][0]]]};this.validate&&!this.validate({type:\"Feature\",id:this.currentId,geometry:g,properties:{}},{project:this.project,unproject:this.unproject,coordinatePrecision:this.coordinatePrecision,updateType:Wt.Provisional})||this.store.updateGeometry([{id:this.currentId,geometry:g}])}onClick(t){if(!1===this.startingClick){const[e,i]=this.store.create([{geometry:{type:\"Polygon\",coordinates:[[[t.lng,t.lat],[t.lng,t.lat],[t.lng,t.lat],[t.lng,t.lat]]]},properties:{mode:this.mode}},{geometry:{type:\"Point\",coordinates:[t.lng,t.lat]},properties:{mode:this.mode}}]);return this.currentId=e,this.closingPointId=i,this.startingClick=!0,void this.setDrawing()}this.close()}onKeyDown(){}onKeyUp(t){t.key===this.keyEvents.cancel?this.cleanUp():t.key===this.keyEvents.finish&&this.close()}onDragStart(){}onDrag(){}onDragEnd(){}cleanUp(){const t=this.currentId,e=this.closingPointId;this.closingPointId=void 0,this.currentId=void 0,this.startingClick=!1,\"drawing\"===this.state&&this.setStarted();try{void 0!==t&&this.store.delete([t]),void 0!==e&&this.store.delete([e])}catch(t){}}styleFeature(e){const i=t({},{polygonFillColor:\"#3f97e0\",polygonOutlineColor:\"#3f97e0\",polygonOutlineWidth:4,polygonFillOpacity:.3,pointColor:\"#3f97e0\",pointOutlineColor:\"#ffffff\",pointOutlineWidth:0,pointWidth:6,lineStringColor:\"#3f97e0\",lineStringWidth:4,zIndex:0});return\"Feature\"===e.type&&\"Polygon\"===e.geometry.type&&e.properties.mode===this.mode?(i.polygonFillColor=this.getHexColorStylingValue(this.styles.fillColor,i.polygonFillColor,e),i.polygonOutlineColor=this.getHexColorStylingValue(this.styles.outlineColor,i.polygonOutlineColor,e),i.polygonOutlineWidth=this.getNumericStylingValue(this.styles.outlineWidth,i.polygonOutlineWidth,e),i.polygonFillOpacity=this.getNumericStylingValue(this.styles.fillOpacity,i.polygonFillOpacity,e),i.zIndex=10,i):\"Feature\"===e.type&&\"Point\"===e.geometry.type&&e.properties.mode===this.mode?(i.pointWidth=this.getNumericStylingValue(this.styles.closingPointWidth,i.pointWidth,e),i.pointColor=this.getHexColorStylingValue(this.styles.closingPointColor,i.pointColor,e),i.pointOutlineColor=this.getHexColorStylingValue(this.styles.closingPointOutlineColor,i.pointOutlineColor,e),i.pointOutlineWidth=this.getNumericStylingValue(this.styles.closingPointOutlineWidth,2,e),i.zIndex=40,i):i}validateFeature(t){return!!super.validateFeature(t)&&t.properties.mode===this.mode&&ae(t,this.coordinatePrecision)}}class de{constructor({store:t,mode:e,project:i,unproject:o,pointerDistance:s,coordinatePrecision:r,projection:n}){this.store=void 0,this.mode=void 0,this.project=void 0,this.unproject=void 0,this.pointerDistance=void 0,this.coordinatePrecision=void 0,this.projection=void 0,this.store=t,this.mode=e,this.project=i,this.unproject=o,this.pointerDistance=s,this.coordinatePrecision=r,this.projection=n}}function ue({unproject:t,point:e,pointerDistance:i}){const o=i/2,{x:s,y:r}=e;return{type:\"Feature\",properties:{},geometry:{type:\"Polygon\",coordinates:[[t(s-o,r-o),t(s+o,r-o),t(s+o,r+o),t(s-o,r+o),t(s-o,r-o)].map(t=>[t.lng,t.lat])]}}}class ge extends de{constructor(t){super(t)}create(t){const{containerX:e,containerY:i}=t;return ue({unproject:this.unproject,point:{x:e,y:i},pointerDistance:this.pointerDistance})}}class pe extends de{constructor(t){super(t)}measure(t,e){const{x:o,y:s}=this.project(e[0],e[1]);return i({x:o,y:s},{x:t.containerX,y:t.containerY})}}class ye extends de{constructor(t,e,i){super(t),this.config=void 0,this.pixelDistance=void 0,this.clickBoundingBox=void 0,this.getSnappableCoordinateFirstClick=t=>this.getSnappable(t,t=>Boolean(t.properties&&t.properties.mode===this.mode)),this.getSnappableCoordinate=(t,e)=>this.getSnappable(t,t=>Boolean(t.properties&&t.properties.mode===this.mode&&t.id!==e)),this.config=t,this.pixelDistance=e,this.clickBoundingBox=i}getSnappable(t,e){const i=this.clickBoundingBox.create(t),o=this.store.search(i,e),s={coord:void 0,minDist:Infinity};return o.forEach(e=>{let i;if(\"Polygon\"===e.geometry.type)i=e.geometry.coordinates[0];else{if(\"LineString\"!==e.geometry.type)return;i=e.geometry.coordinates}i.forEach(e=>{const i=this.pixelDistance.measure(t,e);i<s.minDist&&i<this.pointerDistance&&(s.coord=e,s.minDist=i)})}),s.coord}}function me(t,e,i){const o=Ht(t[0]),s=Ht(t[1]),r=Ht(i),n=Kt(e),a=Math.asin(Math.sin(s)*Math.cos(n)+Math.cos(s)*Math.sin(n)*Math.cos(r));return[Jt(o+Math.atan2(Math.sin(r)*Math.sin(n)*Math.cos(s),Math.cos(n)-Math.sin(s)*Math.sin(a))),Jt(a)]}function fe({x:t,y:e},i,o){const s=Ht(o);return{x:t+i*Math.cos(s),y:e+i*Math.sin(s)}}function ve(t,e){const i=Ht(t[0]),o=Ht(e[0]),s=Ht(t[1]),r=Ht(e[1]),n=Math.sin(o-i)*Math.cos(r),a=Math.cos(s)*Math.sin(r)-Math.sin(s)*Math.cos(r)*Math.cos(o-i);return Jt(Math.atan2(n,a))}function _e({x:t,y:e},{x:i,y:o}){let s=Math.atan2(o-e,i-t);return s*=180/Math.PI,s>180?s-=360:s<-180&&(s+=360),s}function Ce(t,e,i){const o=[],s=t.length;let r,n,a,l=0;for(let s=0;s<t.length&&!(e>=l&&s===t.length-1);s++){if(l>e&&0===o.length){if(r=e-l,!r)return o.push(t[s]),o;n=ve(t[s],t[s-1])-180,a=me(t[s],r,n),o.push(a)}if(l>=i)return r=i-l,r?(n=ve(t[s],t[s-1])-180,a=me(t[s],r,n),o.push(a),o):(o.push(t[s]),o);if(l>=e&&o.push(t[s]),s===t.length-1)return o;l+=Ut(t[s],t[s+1])}if(l<e&&t.length===s)throw new Error(\"Start position is beyond line\");const h=t[t.length-1];return[h,h]}function Pe(t){return t*(Math.PI/180)}function xe(t){return t*(180/Math.PI)}class Me extends de{constructor(t){super(t),this.config=void 0,this.config=t}generateInsertionCoordinates(t,e,i){const o=[t,e];let s=0;for(let t=0;t<o.length-1;t++)s+=Ut(o[0],o[1]);if(s<=i)return o;let r=s/i-1;Number.isInteger(r)||(r=Math.floor(r)+1);const n=[];for(let t=0;t<r;t++){const e=Ce(o,i*t,i*(t+1));n.push(e)}const a=[];for(let t=0;t<n.length;t++)a.push(n[t][1]);return this.limitCoordinates(a)}generateInsertionGeodesicCoordinates(t,e,i){const o=Ut(t,e),s=function(t,e,i){const o=[],s=Pe(t[1]),r=Pe(t[0]),n=Pe(e[1]),a=Pe(e[0]);i+=1;const l=2*Math.asin(Math.sqrt(Math.sin((n-s)/2)**2+Math.cos(s)*Math.cos(n)*Math.sin((a-r)/2)**2));if(0===l||isNaN(l))return o;for(let t=0;t<=i;t++){const e=t/i,h=Math.sin((1-e)*l)/Math.sin(l),c=Math.sin(e*l)/Math.sin(l),d=h*Math.cos(s)*Math.cos(r)+c*Math.cos(n)*Math.cos(a),u=h*Math.cos(s)*Math.sin(r)+c*Math.cos(n)*Math.sin(a),g=h*Math.sin(s)+c*Math.sin(n);if(isNaN(d)||isNaN(u)||isNaN(g))continue;const p=Math.atan2(g,Math.sqrt(d**2+u**2)),y=Math.atan2(u,d);isNaN(p)||isNaN(y)||o.push([xe(y),xe(p)])}return o.slice(1,-1)}(t,e,Math.floor(o/i));return this.limitCoordinates(s)}limitCoordinates(t){return t.map(t=>[e(t[0],this.config.coordinatePrecision),e(t[1],this.config.coordinatePrecision)])}}function we(t,e){return t[0]===e[0]&&t[1]===e[1]}class Se extends Tt{constructor(e){super(e),this.mode=\"linestring\",this.currentCoordinate=0,this.currentId=void 0,this.closingPointId=void 0,this.keyEvents=void 0,this.snappingEnabled=void 0,this.cursors=void 0,this.mouseMove=!1,this.insertCoordinates=void 0,this.lastCommitedCoordinates=void 0,this.snapping=void 0,this.insertPoint=void 0;const i={start:\"crosshair\",close:\"pointer\"};if(this.cursors=e&&e.cursors?t({},i,e.cursors):i,this.snappingEnabled=!(!e||void 0===e.snapping)&&e.snapping,null===(null==e?void 0:e.keyEvents))this.keyEvents={cancel:null,finish:null};else{const i={cancel:\"Escape\",finish:\"Enter\"};this.keyEvents=e&&e.keyEvents?t({},i,e.keyEvents):i}this.validate=null==e?void 0:e.validation,this.insertCoordinates=null==e?void 0:e.insertCoordinates}close(){if(void 0===this.currentId)return;const t=this.store.getGeometryCopy(this.currentId);t.coordinates.pop(),this.updateGeometries([...t.coordinates],void 0,Wt.Commit);const e=this.currentId;this.closingPointId&&this.store.delete([this.closingPointId]),this.currentCoordinate=0,this.currentId=void 0,this.closingPointId=void 0,this.lastCommitedCoordinates=void 0,\"drawing\"===this.state&&this.setStarted(),this.onFinish(e,{mode:this.mode,action:\"draw\"})}updateGeometries(t,e,i){if(!this.currentId)return;const o={type:\"LineString\",coordinates:t};if(this.validate&&!this.validate({type:\"Feature\",geometry:o},{project:this.project,unproject:this.unproject,coordinatePrecision:this.coordinatePrecision,updateType:i}))return;const s=[{id:this.currentId,geometry:o}];this.closingPointId&&e&&s.push({id:this.closingPointId,geometry:{type:\"Point\",coordinates:e}}),\"commit\"===i&&(this.lastCommitedCoordinates=o.coordinates),this.store.updateGeometry(s)}generateInsertCoordinates(t,e){if(!this.insertCoordinates||!this.lastCommitedCoordinates)throw new Error(\"Not able to insert coordinates\");if(\"amount\"!==this.insertCoordinates.strategy)throw new Error(\"Strategy does not exist\");const i=Ut(t,e)/(this.insertCoordinates.value+1);let o=[];return\"globe\"===this.projection?o=this.insertPoint.generateInsertionGeodesicCoordinates(t,e,i):\"web-mercator\"===this.projection&&(o=this.insertPoint.generateInsertionCoordinates(t,e,i)),o}createLine(t){const[e]=this.store.create([{geometry:{type:\"LineString\",coordinates:[t,t]},properties:{mode:this.mode}}]);this.lastCommitedCoordinates=[t,t],this.currentId=e,this.currentCoordinate++,this.setDrawing()}firstUpdateToLine(t){if(!this.currentId)return;const e=this.store.getGeometryCopy(this.currentId).coordinates,[i]=this.store.create([{geometry:{type:\"Point\",coordinates:[...t]},properties:{mode:this.mode}}]);this.closingPointId=i,this.setCursor(this.cursors.close);const o=[...e,t];this.updateGeometries(o,void 0,Wt.Commit),this.currentCoordinate++}updateToLine(t,e){if(!this.currentId)return;const o=this.store.getGeometryCopy(this.currentId).coordinates,[s,r]=this.lastCommitedCoordinates?this.lastCommitedCoordinates[this.lastCommitedCoordinates.length-1]:o[o.length-2],{x:n,y:a}=this.project(s,r);if(i({x:n,y:a},{x:e.x,y:e.y})<this.pointerDistance)return void this.close();this.setCursor(this.cursors.close);const l=[...o,t];this.updateGeometries(l,o[o.length-1],Wt.Commit),this.currentCoordinate++}registerBehaviors(t){this.snapping=new ye(t,new pe(t),new ge(t)),this.insertPoint=new Me(t)}start(){this.setStarted(),this.setCursor(this.cursors.start)}stop(){this.cleanUp(),this.setStopped(),this.setCursor(\"unset\")}onMouseMove(t){if(this.mouseMove=!0,this.setCursor(this.cursors.start),void 0===this.currentId||0===this.currentCoordinate)return;const e=this.store.getGeometryCopy(this.currentId).coordinates;e.pop();const o=this.snappingEnabled&&this.snapping.getSnappableCoordinate(t,this.currentId)||[t.lng,t.lat];if(this.closingPointId){const[o,s]=e[e.length-1],{x:r,y:n}=this.project(o,s);i({x:r,y:n},{x:t.containerX,y:t.containerY})<this.pointerDistance&&this.setCursor(this.cursors.close)}let s=[...e,o];if(this.insertCoordinates&&this.currentId&&this.lastCommitedCoordinates){const t=this.lastCommitedCoordinates[this.lastCommitedCoordinates.length-1],e=o;if(!we(t,e)){const i=this.generateInsertCoordinates(t,e);s=[...this.lastCommitedCoordinates.slice(0,-1),...i,o]}}this.updateGeometries(s,void 0,Wt.Provisional)}onClick(t){this.currentCoordinate>0&&!this.mouseMove&&this.onMouseMove(t),this.mouseMove=!1;const e=this.currentId&&this.snappingEnabled&&this.snapping.getSnappableCoordinate(t,this.currentId)||[t.lng,t.lat];0===this.currentCoordinate?this.createLine(e):1===this.currentCoordinate&&this.currentId?this.firstUpdateToLine(e):this.currentId&&this.updateToLine(e,{x:t.containerX,y:t.containerY})}onKeyDown(){}onKeyUp(t){t.key===this.keyEvents.cancel&&this.cleanUp(),t.key===this.keyEvents.finish&&this.close()}onDragStart(){}onDrag(){}onDragEnd(){}cleanUp(){const t=this.currentId;this.closingPointId=void 0,this.currentId=void 0,this.currentCoordinate=0,\"drawing\"===this.state&&this.setStarted();try{void 0!==t&&this.store.delete([t]),void 0!==this.closingPointId&&this.store.delete([this.closingPointId])}catch(t){}}styleFeature(e){const i=t({},{polygonFillColor:\"#3f97e0\",polygonOutlineColor:\"#3f97e0\",polygonOutlineWidth:4,polygonFillOpacity:.3,pointColor:\"#3f97e0\",pointOutlineColor:\"#ffffff\",pointOutlineWidth:0,pointWidth:6,lineStringColor:\"#3f97e0\",lineStringWidth:4,zIndex:0});return\"Feature\"===e.type&&\"LineString\"===e.geometry.type&&e.properties.mode===this.mode?(i.lineStringColor=this.getHexColorStylingValue(this.styles.lineStringColor,i.lineStringColor,e),i.lineStringWidth=this.getNumericStylingValue(this.styles.lineStringWidth,i.lineStringWidth,e),i.zIndex=10,i):\"Feature\"===e.type&&\"Point\"===e.geometry.type&&e.properties.mode===this.mode?(i.pointColor=this.getHexColorStylingValue(this.styles.closingPointColor,i.pointColor,e),i.pointWidth=this.getNumericStylingValue(this.styles.closingPointWidth,i.pointWidth,e),i.pointOutlineColor=this.getHexColorStylingValue(this.styles.closingPointOutlineColor,\"#ffffff\",e),i.pointOutlineWidth=this.getNumericStylingValue(this.styles.closingPointOutlineWidth,2,e),i.zIndex=40,i):i}validateFeature(t){return!!super.validateFeature(t)&&\"LineString\"===t.geometry.type&&t.properties.mode===this.mode&&t.geometry.coordinates.length>=2}}function be(t,e){return\"Point\"===t.geometry.type&&re(t.geometry.coordinates,e)}class Ee extends Tt{constructor(e){super(e),this.mode=\"point\",this.cursors=void 0;const i={create:\"crosshair\"};this.cursors=e&&e.cursors?t({},i,e.cursors):i}start(){this.setStarted(),this.setCursor(this.cursors.create)}stop(){this.cleanUp(),this.setStopped(),this.setCursor(\"unset\")}onClick(t){if(!this.store)throw new Error(\"Mode must be registered first\");const e={type:\"Point\",coordinates:[t.lng,t.lat]},i={mode:this.mode};if(this.validate&&!this.validate({type:\"Feature\",geometry:e,properties:i},{project:this.project,unproject:this.unproject,coordinatePrecision:this.coordinatePrecision,updateType:Wt.Finish}))return;const[o]=this.store.create([{geometry:e,properties:i}]);this.onFinish(o,{mode:this.mode,action:\"draw\"})}onMouseMove(){}onKeyDown(){}onKeyUp(){}cleanUp(){}onDragStart(){}onDrag(){}onDragEnd(){}styleFeature(e){const i=t({},{polygonFillColor:\"#3f97e0\",polygonOutlineColor:\"#3f97e0\",polygonOutlineWidth:4,polygonFillOpacity:.3,pointColor:\"#3f97e0\",pointOutlineColor:\"#ffffff\",pointOutlineWidth:0,pointWidth:6,lineStringColor:\"#3f97e0\",lineStringWidth:4,zIndex:0});return\"Feature\"===e.type&&\"Point\"===e.geometry.type&&e.properties.mode===this.mode&&(i.pointWidth=this.getNumericStylingValue(this.styles.pointWidth,i.pointWidth,e),i.pointColor=this.getHexColorStylingValue(this.styles.pointColor,i.pointColor,e),i.pointOutlineColor=this.getHexColorStylingValue(this.styles.pointOutlineColor,i.pointOutlineColor,e),i.pointOutlineWidth=this.getNumericStylingValue(this.styles.pointOutlineWidth,2,e),i.zIndex=30),i}validateFeature(t){return!!super.validateFeature(t)&&t.properties.mode===this.mode&&be(t,this.coordinatePrecision)}}class Ie extends de{constructor(t,e){super(t),this.config=void 0,this.pixelDistance=void 0,this._startEndPoints=[],this.config=t,this.pixelDistance=e}get ids(){return this._startEndPoints.concat()}set ids(t){}create(t,e){if(this.ids.length)throw new Error(\"Opening and closing points already created\");if(t.length<=3)throw new Error(\"Requires at least 4 coordinates\");this._startEndPoints=this.store.create([{geometry:{type:\"Point\",coordinates:t[0]},properties:{mode:e,[At]:!0}},{geometry:{type:\"Point\",coordinates:t[t.length-2]},properties:{mode:e,[At]:!0}}])}delete(){this.ids.length&&(this.store.delete(this.ids),this._startEndPoints=[])}update(t){if(2!==this.ids.length)throw new Error(\"No closing points to update\");this.store.updateGeometry([{id:this.ids[0],geometry:{type:\"Point\",coordinates:t[0]}},{id:this.ids[1],geometry:{type:\"Point\",coordinates:t[t.length-3]}}])}isClosingPoint(t){const e=this.store.getGeometryCopy(this.ids[0]),i=this.store.getGeometryCopy(this.ids[1]),o=this.pixelDistance.measure(t,e.coordinates),s=this.pixelDistance.measure(t,i.coordinates);return{isClosing:o<this.pointerDistance,isPreviousClosing:s<this.pointerDistance}}}class De extends Tt{constructor(e){super(e),this.mode=\"polygon\",this.currentCoordinate=0,this.currentId=void 0,this.keyEvents=void 0,this.snappingEnabled=void 0,this.snapping=void 0,this.pixelDistance=void 0,this.closingPoints=void 0,this.cursors=void 0,this.mouseMove=!1;const i={start:\"crosshair\",close:\"pointer\"};if(this.cursors=e&&e.cursors?t({},i,e.cursors):i,this.snappingEnabled=!(!e||void 0===e.snapping)&&e.snapping,null===(null==e?void 0:e.keyEvents))this.keyEvents={cancel:null,finish:null};else{const i={cancel:\"Escape\",finish:\"Enter\"};this.keyEvents=e&&e.keyEvents?t({},i,e.keyEvents):i}}close(){if(void 0===this.currentId)return;const t=this.store.getGeometryCopy(this.currentId).coordinates[0];if(t.length<5)return;if(!this.updatePolygonGeometry([...t.slice(0,-2),t[0]],Wt.Finish))return;const e=this.currentId;this.currentCoordinate=0,this.currentId=void 0,this.closingPoints.delete(),\"drawing\"===this.state&&this.setStarted(),this.onFinish(e,{mode:this.mode,action:\"draw\"})}registerBehaviors(t){this.pixelDistance=new pe(t),this.snapping=new ye(t,this.pixelDistance,new ge(t)),this.closingPoints=new Ie(t,this.pixelDistance)}start(){this.setStarted(),this.setCursor(this.cursors.start)}stop(){this.cleanUp(),this.setStopped(),this.setCursor(\"unset\")}onMouseMove(t){if(this.mouseMove=!0,this.setCursor(this.cursors.start),void 0===this.currentId||0===this.currentCoordinate)return;const e=this.snappingEnabled?this.snapping.getSnappableCoordinate(t,this.currentId):void 0,i=this.store.getGeometryCopy(this.currentId).coordinates[0];let o;if(e&&(t.lng=e[0],t.lat=e[1]),1===this.currentCoordinate){const e=1/Math.pow(10,this.coordinatePrecision-1),s=Math.max(1e-6,e);o=[i[0],[t.lng,t.lat],[t.lng,t.lat-s],i[0]]}else if(2===this.currentCoordinate)o=[i[0],i[1],[t.lng,t.lat],i[0]];else{const{isClosing:e,isPreviousClosing:s}=this.closingPoints.isClosingPoint(t);s||e?(this.setCursor(this.cursors.close),o=[...i.slice(0,-2),i[0],i[0]]):o=[...i.slice(0,-2),[t.lng,t.lat],i[0]]}this.updatePolygonGeometry(o,Wt.Provisional)}updatePolygonGeometry(t,e){if(!this.currentId)return!1;const i={type:\"Polygon\",coordinates:[t]};return!(this.validate&&!this.validate({type:\"Feature\",geometry:i},{project:this.project,unproject:this.unproject,coordinatePrecision:this.coordinatePrecision,updateType:e})||(this.store.updateGeometry([{id:this.currentId,geometry:i}]),0))}onClick(t){if(this.currentCoordinate>0&&!this.mouseMove&&this.onMouseMove(t),this.mouseMove=!1,0===this.currentCoordinate){const e=this.snappingEnabled?this.snapping.getSnappableCoordinateFirstClick(t):void 0;e&&(t.lng=e[0],t.lat=e[1]);const[i]=this.store.create([{geometry:{type:\"Polygon\",coordinates:[[[t.lng,t.lat],[t.lng,t.lat],[t.lng,t.lat],[t.lng,t.lat]]]},properties:{mode:this.mode}}]);this.currentId=i,this.currentCoordinate++,this.setDrawing()}else if(1===this.currentCoordinate&&this.currentId){const e=this.snappingEnabled?this.snapping.getSnappableCoordinate(t,this.currentId):void 0;e&&(t.lng=e[0],t.lat=e[1]);const i=this.store.getGeometryCopy(this.currentId);if(we([t.lng,t.lat],i.coordinates[0][0]))return;if(!this.updatePolygonGeometry([i.coordinates[0][0],[t.lng,t.lat],[t.lng,t.lat],i.coordinates[0][0]],Wt.Commit))return;this.currentCoordinate++}else if(2===this.currentCoordinate&&this.currentId){const e=this.snappingEnabled?this.snapping.getSnappableCoordinate(t,this.currentId):void 0;e&&(t.lng=e[0],t.lat=e[1]);const i=this.store.getGeometryCopy(this.currentId).coordinates[0];if(we([t.lng,t.lat],i[1]))return;if(!this.updatePolygonGeometry([i[0],i[1],[t.lng,t.lat],[t.lng,t.lat],i[0]],Wt.Commit))return;2===this.currentCoordinate&&this.closingPoints.create(i,\"polygon\"),this.currentCoordinate++}else if(this.currentId){const e=this.snappingEnabled?this.snapping.getSnappableCoordinate(t,this.currentId):void 0,i=this.store.getGeometryCopy(this.currentId).coordinates[0],{isClosing:o,isPreviousClosing:s}=this.closingPoints.isClosingPoint(t);if(s||o)this.close();else{if(e&&(t.lng=e[0],t.lat=e[1]),we([t.lng,t.lat],i[this.currentCoordinate-1]))return;const o=function(t=[[[0,0],[0,1],[1,1],[1,0],[0,0]]]){return{type:\"Feature\",geometry:{type:\"Polygon\",coordinates:t},properties:{}}}([[...i.slice(0,-1),[t.lng,t.lat],i[0]]]);if(!this.updatePolygonGeometry(o.geometry.coordinates[0],Wt.Commit))return;this.currentCoordinate++,this.closingPoints.ids.length&&this.closingPoints.update(o.geometry.coordinates[0])}}}onKeyUp(t){t.key===this.keyEvents.cancel?this.cleanUp():t.key===this.keyEvents.finish&&this.close()}onKeyDown(){}onDragStart(){this.setCursor(\"unset\")}onDrag(){}onDragEnd(){this.setCursor(this.cursors.start)}cleanUp(){const t=this.currentId;this.currentId=void 0,this.currentCoordinate=0,\"drawing\"===this.state&&this.setStarted();try{void 0!==t&&this.store.delete([t]),this.closingPoints.ids.length&&this.closingPoints.delete()}catch(t){}}styleFeature(e){const i=t({},{polygonFillColor:\"#3f97e0\",polygonOutlineColor:\"#3f97e0\",polygonOutlineWidth:4,polygonFillOpacity:.3,pointColor:\"#3f97e0\",pointOutlineColor:\"#ffffff\",pointOutlineWidth:0,pointWidth:6,lineStringColor:\"#3f97e0\",lineStringWidth:4,zIndex:0});if(e.properties.mode===this.mode){if(\"Polygon\"===e.geometry.type)return i.polygonFillColor=this.getHexColorStylingValue(this.styles.fillColor,i.polygonFillColor,e),i.polygonOutlineColor=this.getHexColorStylingValue(this.styles.outlineColor,i.polygonOutlineColor,e),i.polygonOutlineWidth=this.getNumericStylingValue(this.styles.outlineWidth,i.polygonOutlineWidth,e),i.polygonFillOpacity=this.getNumericStylingValue(this.styles.fillOpacity,i.polygonFillOpacity,e),i.zIndex=10,i;if(\"Point\"===e.geometry.type)return i.pointWidth=this.getNumericStylingValue(this.styles.closingPointWidth,i.pointWidth,e),i.pointColor=this.getHexColorStylingValue(this.styles.closingPointColor,i.pointColor,e),i.pointOutlineColor=this.getHexColorStylingValue(this.styles.closingPointOutlineColor,i.pointOutlineColor,e),i.pointOutlineWidth=this.getNumericStylingValue(this.styles.closingPointOutlineWidth,2,e),i.zIndex=30,i}return i}validateFeature(t){return!!super.validateFeature(t)&&t.properties.mode===this.mode&&ae(t,this.coordinatePrecision)}}class ke extends Tt{constructor(e){super(e),this.mode=\"rectangle\",this.center=void 0,this.clickCount=0,this.currentRectangleId=void 0,this.keyEvents=void 0,this.cursors=void 0;const i={start:\"crosshair\"};if(this.cursors=e&&e.cursors?t({},i,e.cursors):i,null===(null==e?void 0:e.keyEvents))this.keyEvents={cancel:null,finish:null};else{const i={cancel:\"Escape\",finish:\"Enter\"};this.keyEvents=e&&e.keyEvents?t({},i,e.keyEvents):i}}updateRectangle(t,e){if(1===this.clickCount&&this.center&&this.currentRectangleId){const i=this.store.getGeometryCopy(this.currentRectangleId).coordinates[0][0],o={type:\"Polygon\",coordinates:[[i,[t.lng,i[1]],[t.lng,t.lat],[i[0],t.lat],i]]};if(this.validate&&!this.validate({id:this.currentRectangleId,geometry:o},{project:this.project,unproject:this.unproject,coordinatePrecision:this.coordinatePrecision,updateType:e}))return;this.store.updateGeometry([{id:this.currentRectangleId,geometry:o}])}}close(){const t=this.currentRectangleId;this.center=void 0,this.currentRectangleId=void 0,this.clickCount=0,\"drawing\"===this.state&&this.setStarted(),t&&this.onFinish(t,{mode:this.mode,action:\"draw\"})}start(){this.setStarted(),this.setCursor(this.cursors.start)}stop(){this.cleanUp(),this.setStopped(),this.setCursor(\"unset\")}onClick(t){if(0===this.clickCount){this.center=[t.lng,t.lat];const[e]=this.store.create([{geometry:{type:\"Polygon\",coordinates:[[[t.lng,t.lat],[t.lng,t.lat],[t.lng,t.lat],[t.lng,t.lat]]]},properties:{mode:this.mode}}]);this.currentRectangleId=e,this.clickCount++,this.setDrawing()}else this.updateRectangle(t,Wt.Finish),this.close()}onMouseMove(t){this.updateRectangle(t,Wt.Provisional)}onKeyDown(){}onKeyUp(t){t.key===this.keyEvents.cancel?this.cleanUp():t.key===this.keyEvents.finish&&this.close()}onDragStart(){}onDrag(){}onDragEnd(){}cleanUp(){const t=this.currentRectangleId;this.center=void 0,this.currentRectangleId=void 0,this.clickCount=0,\"drawing\"===this.state&&this.setStarted(),void 0!==t&&this.store.delete([t])}styleFeature(e){const i=t({},{polygonFillColor:\"#3f97e0\",polygonOutlineColor:\"#3f97e0\",polygonOutlineWidth:4,polygonFillOpacity:.3,pointColor:\"#3f97e0\",pointOutlineColor:\"#ffffff\",pointOutlineWidth:0,pointWidth:6,lineStringColor:\"#3f97e0\",lineStringWidth:4,zIndex:0});return\"Feature\"===e.type&&\"Polygon\"===e.geometry.type&&e.properties.mode===this.mode?(i.polygonFillColor=this.getHexColorStylingValue(this.styles.fillColor,i.polygonFillColor,e),i.polygonOutlineColor=this.getHexColorStylingValue(this.styles.outlineColor,i.polygonOutlineColor,e),i.polygonOutlineWidth=this.getNumericStylingValue(this.styles.outlineWidth,i.polygonOutlineWidth,e),i.polygonFillOpacity=this.getNumericStylingValue(this.styles.fillOpacity,i.polygonFillOpacity,e),i.zIndex=10,i):i}validateFeature(t){return!!super.validateFeature(t)&&t.properties.mode===this.mode&&le(t,this.coordinatePrecision)}}class Fe extends Tt{constructor(t){super({styles:t.styles}),this.type=zt.Render,this.mode=\"render\",this.mode=t.modeName}registerBehaviors(t){this.mode=t.mode}start(){this.setStarted()}stop(){this.setStopped()}onKeyUp(){}onKeyDown(){}onClick(){}onDragStart(){}onDrag(){}onDragEnd(){}onMouseMove(){}cleanUp(){}styleFeature(t){return{pointColor:this.getHexColorStylingValue(this.styles.pointColor,\"#3f97e0\",t),pointWidth:this.getNumericStylingValue(this.styles.pointWidth,6,t),pointOutlineColor:this.getHexColorStylingValue(this.styles.pointOutlineColor,\"#ffffff\",t),pointOutlineWidth:this.getNumericStylingValue(this.styles.pointOutlineWidth,0,t),polygonFillColor:this.getHexColorStylingValue(this.styles.polygonFillColor,\"#3f97e0\",t),polygonFillOpacity:this.getNumericStylingValue(this.styles.polygonFillOpacity,.3,t),polygonOutlineColor:this.getHexColorStylingValue(this.styles.polygonOutlineColor,\"#3f97e0\",t),polygonOutlineWidth:this.getNumericStylingValue(this.styles.polygonOutlineWidth,4,t),lineStringWidth:this.getNumericStylingValue(this.styles.lineStringWidth,4,t),lineStringColor:this.getHexColorStylingValue(this.styles.lineStringColor,\"#3f97e0\",t),zIndex:this.getNumericStylingValue(this.styles.zIndex,0,t)}}validateFeature(t){return super.validateFeature(t)&&(be(t,this.coordinatePrecision)||ae(t,this.coordinatePrecision)||function(t,e){return\"LineString\"===t.geometry.type&&t.geometry.coordinates.length>=2&&t.geometry.coordinates.every(t=>re(t,e))}(t,this.coordinatePrecision))}}function Oe(t,e){const i=t,o=e,s=Ht(i[1]),r=Ht(o[1]);let n=Ht(o[0]-i[0]);n>Math.PI&&(n-=2*Math.PI),n<-Math.PI&&(n+=2*Math.PI);const a=Math.log(Math.tan(r/2+Math.PI/4)/Math.tan(s/2+Math.PI/4)),l=(Jt(Math.atan2(n,a))+360)%360;return l>180?-(360-l):l}function Le(t,e,i){let o=e;e<0&&(o=-Math.abs(o));const s=o/Yt,r=t[0]*Math.PI/180,n=Ht(t[1]),a=Ht(i),l=s*Math.cos(a);let h=n+l;Math.abs(h)>Math.PI/2&&(h=h>0?Math.PI-h:-Math.PI-h);const c=Math.log(Math.tan(h/2+Math.PI/4)/Math.tan(n/2+Math.PI/4)),d=Math.abs(c)>1e-11?l/c:Math.cos(n),u=[(180*(r+s*Math.sin(a)/d)/Math.PI+540)%360-180,180*h/Math.PI];return u[0]+=u[0]-t[0]>180?-360:t[0]-u[0]>180?360:0,u}function We(t,i,o,s,r){const n=s(t[0],t[1]),a=s(i[0],i[1]),{lng:l,lat:h}=r((n.x+a.x)/2,(n.y+a.y)/2);return[e(l,o),e(h,o)]}function je(t,i,o){const s=Le(t,1e3*Ut(t,i)/2,Oe(t,i));return[e(s[0],o),e(s[1],o)]}function Be({featureCoords:t,precision:e,unproject:i,project:o,projection:s}){const r=[];for(let n=0;n<t.length-1;n++){let a;if(\"web-mercator\"===s)a=We(t[n],t[n+1],e,o,i);else{if(\"globe\"!==s)throw new Error(\"Invalid projection\");a=je(t[n],t[n+1],e)}r.push(a)}return r}class Ge extends de{constructor(t,e){super(t),this.config=void 0,this.selectionPointBehavior=void 0,this._midPoints=[],this.config=t,this.selectionPointBehavior=e}get ids(){return this._midPoints.concat()}set ids(t){}insert(t,e){const i=this.store.getGeometryCopy(t),{midPointFeatureId:o,midPointSegment:s}=this.store.getPropertiesCopy(t),r=this.store.getGeometryCopy(o),n=\"Polygon\"===r.type?r.coordinates[0]:r.coordinates;n.splice(s+1,0,i.coordinates),r.coordinates=\"Polygon\"===r.type?[n]:n,this.store.updateGeometry([{id:o,geometry:r}]),this.store.delete([...this._midPoints,...this.selectionPointBehavior.ids]),this.create(n,o,e),this.selectionPointBehavior.create(n,r.type,o)}create(t,e,i){if(!this.store.has(e))throw new Error(\"Store does not have feature with this id\");this._midPoints=this.store.create(function(t,e,i,o,s,r){return Be({featureCoords:t,precision:i,project:o,unproject:s,projection:r}).map((t,i)=>({geometry:{type:\"Point\",coordinates:t},properties:e(i)}))}(t,t=>({mode:this.mode,[Nt]:!0,midPointSegment:t,midPointFeatureId:e}),i,this.config.project,this.config.unproject,this.projection))}delete(){this._midPoints.length&&(this.store.delete(this._midPoints),this._midPoints=[])}getUpdated(t){if(0!==this._midPoints.length)return Be({featureCoords:t,precision:this.coordinatePrecision,project:this.config.project,unproject:this.config.unproject,projection:this.config.projection}).map((t,e)=>({id:this._midPoints[e],geometry:{type:\"Point\",coordinates:t}}))}}class Ne extends de{constructor(t){super(t),this._selectionPoints=[]}get ids(){return this._selectionPoints.concat()}set ids(t){}create(t,e,i){this._selectionPoints=this.store.create(function(t,e,i){const o=[],s=\"Polygon\"===e?t.length-1:t.length;for(let e=0;e<s;e++)o.push({geometry:{type:\"Point\",coordinates:t[e]},properties:i(e)});return o}(t,e,t=>({mode:this.mode,selectionPoint:!0,selectionPointFeatureId:i,index:t})))}delete(){this.ids.length&&(this.store.delete(this.ids),this._selectionPoints=[])}getUpdated(t){if(0!==this._selectionPoints.length)return this._selectionPoints.map((e,i)=>({id:e,geometry:{type:\"Point\",coordinates:t[i]}}))}getOneUpdated(t,e){if(void 0!==this._selectionPoints[t])return{id:this._selectionPoints[t],geometry:{type:\"Point\",coordinates:e}}}}function Ae(t,e){let i=!1;for(let n=0,a=e.length;n<a;n++){const a=e[n];for(let e=0,n=a.length,l=n-1;e<n;l=e++)(s=a[e])[1]>(o=t)[1]!=(r=a[l])[1]>o[1]&&o[0]<(r[0]-s[0])*(o[1]-s[1])/(r[1]-s[1])+s[0]&&(i=!i)}var o,s,r;return i}const Re=(t,e,i)=>{const o=t=>t*t,s=(t,e)=>o(t.x-e.x)+o(t.y-e.y);return Math.sqrt(((t,e,i)=>{const o=s(e,i);if(0===o)return s(t,e);let r=((t.x-e.x)*(i.x-e.x)+(t.y-e.y)*(i.y-e.y))/o;return r=Math.max(0,Math.min(1,r)),s(t,{x:e.x+r*(i.x-e.x),y:e.y+r*(i.y-e.y)})})(t,e,i))};class Ve extends de{constructor(t,e,i){super(t),this.config=void 0,this.createClickBoundingBox=void 0,this.pixelDistance=void 0,this.config=t,this.createClickBoundingBox=e,this.pixelDistance=i}find(t,e){let i,o,s=Infinity,r=Infinity;const n=this.createClickBoundingBox.create(t),a=this.store.search(n);for(let n=0;n<a.length;n++){const l=a[n],h=l.geometry;if(\"Point\"===h.type){if(l.properties.selectionPoint||!e&&l.properties[Nt])continue;const n=this.pixelDistance.measure(t,h.coordinates);l.properties[Nt]&&n<this.pointerDistance&&n<r?(r=n,o=l):!l.properties[Nt]&&n<this.pointerDistance&&n<s&&(s=n,i=l)}else if(\"LineString\"===h.type)for(let e=0;e<h.coordinates.length-1;e++){const o=h.coordinates[e],r=h.coordinates[e+1],n=Re({x:t.containerX,y:t.containerY},this.project(o[0],o[1]),this.project(r[0],r[1]));n<this.pointerDistance&&n<s&&(s=n,i=l)}else\"Polygon\"===h.type&&Ae([t.lng,t.lat],h.coordinates)&&(s=0,i=l)}return{clickedFeature:i,clickedMidPoint:o}}}class ze extends de{constructor(t,e,i,o){super(t),this.config=void 0,this.featuresAtMouseEvent=void 0,this.selectionPoints=void 0,this.midPoints=void 0,this.draggedFeatureId=null,this.dragPosition=void 0,this.config=t,this.featuresAtMouseEvent=e,this.selectionPoints=i,this.midPoints=o}startDragging(t,e){this.draggedFeatureId=e,this.dragPosition=[t.lng,t.lat]}stopDragging(){this.draggedFeatureId=null,this.dragPosition=void 0}isDragging(){return null!==this.draggedFeatureId}canDrag(t,e){const{clickedFeature:i}=this.featuresAtMouseEvent.find(t,!0);return!(!i||i.id!==e)}drag(t,i){if(!this.draggedFeatureId)return;const o=this.store.getGeometryCopy(this.draggedFeatureId),s=[t.lng,t.lat];if(\"Polygon\"===o.type||\"LineString\"===o.type){let r,n;if(\"Polygon\"===o.type?(r=o.coordinates[0],n=r.length-1):(r=o.coordinates,n=r.length),!this.dragPosition)return!1;for(let t=0;t<n;t++){const i=r[t],o=[this.dragPosition[0]-s[0],this.dragPosition[1]-s[1]],n=e(i[0]-o[0],this.config.coordinatePrecision),a=e(i[1]-o[1],this.config.coordinatePrecision);if(n>180||n<-180||a>90||a<-90)return!1;r[t]=[n,a]}\"Polygon\"===o.type&&(r[r.length-1]=[r[0][0],r[0][1]]);const a=this.selectionPoints.getUpdated(r)||[],l=this.midPoints.getUpdated(r)||[];if(i&&!i({type:\"Feature\",id:this.draggedFeatureId,geometry:o,properties:{}},{project:this.config.project,unproject:this.config.unproject,coordinatePrecision:this.config.coordinatePrecision,updateType:Wt.Provisional}))return!1;this.store.updateGeometry([{id:this.draggedFeatureId,geometry:o},...a,...l]),this.dragPosition=[t.lng,t.lat]}else\"Point\"===o.type&&(this.store.updateGeometry([{id:this.draggedFeatureId,geometry:{type:\"Point\",coordinates:s}}]),this.dragPosition=[t.lng,t.lat])}}class Te extends de{constructor(t,e,i,o){super(t),this.config=void 0,this.pixelDistance=void 0,this.selectionPoints=void 0,this.midPoints=void 0,this.draggedCoordinate={id:null,index:-1},this.config=t,this.pixelDistance=e,this.selectionPoints=i,this.midPoints=o}getClosestCoordinate(t,e){const i={dist:Infinity,index:-1,isFirstOrLastPolygonCoord:!1};let o;if(\"LineString\"===e.type)o=e.coordinates;else{if(\"Polygon\"!==e.type)return i;o=e.coordinates[0]}for(let s=0;s<o.length;s++){const r=this.pixelDistance.measure(t,o[s]);if(r<this.pointerDistance&&r<i.dist){const t=\"Polygon\"===e.type&&(s===o.length-1||0===s);i.dist=r,i.index=t?0:s,i.isFirstOrLastPolygonCoord=t}}return i}getDraggableIndex(t,e){const i=this.store.getGeometryCopy(e),o=this.getClosestCoordinate(t,i);return-1===o.index?-1:o.index}drag(t,e,i){if(!this.draggedCoordinate.id)return!1;const o=this.draggedCoordinate.index,s=this.store.getGeometryCopy(this.draggedCoordinate.id),r=\"LineString\"===s.type?s.coordinates:s.coordinates[0],n=[t.lng,t.lat];if(t.lng>180||t.lng<-180||t.lat>90||t.lat<-90)return!1;if(\"Polygon\"!==s.type||o!==r.length-1&&0!==o)r[o]=n;else{const t=r.length-1;r[0]=n,r[t]=n}const a=this.selectionPoints.getOneUpdated(o,n),l=a?[a]:[],h=this.midPoints.getUpdated(r)||[];return!(\"Point\"!==s.type&&!e&&oe({type:\"Feature\",geometry:s,properties:{}})||i&&!i({type:\"Feature\",id:this.draggedCoordinate.id,geometry:s,properties:{}},{project:this.config.project,unproject:this.config.unproject,coordinatePrecision:this.config.coordinatePrecision,updateType:Wt.Provisional})||(this.store.updateGeometry([{id:this.draggedCoordinate.id,geometry:s},...l,...h]),0))}isDragging(){return null!==this.draggedCoordinate.id}startDragging(t,e){this.draggedCoordinate={id:t,index:e}}stopDragging(){this.draggedCoordinate={id:null,index:-1}}}function Xe(t){let e=0,i=0,o=0;return(\"Polygon\"===t.geometry.type?t.geometry.coordinates[0].slice(0,-1):t.geometry.coordinates).forEach(t=>{e+=t[0],i+=t[1],o++},!0),[e/o,i/o]}function Ue(t,e){t[0]+=t[0]-e[0]>180?-360:e[0]-t[0]>180?360:0;const i=Yt,o=e[1]*Math.PI/180,s=t[1]*Math.PI/180,r=s-o;let n=Math.abs(t[0]-e[0])*Math.PI/180;n>Math.PI&&(n-=2*Math.PI);const a=Math.log(Math.tan(s/2+Math.PI/4)/Math.tan(o/2+Math.PI/4)),l=Math.abs(a)>1e-11?r/a:Math.cos(o);return Math.sqrt(r*r+l*l*n*n)*i}function Ye(t){const e=(\"Polygon\"===t.geometry.type?t.geometry.coordinates[0]:t.geometry.coordinates).map(t=>{const{x:e,y:i}=Qt(t[0],t[1]);return[e,i]});return\"Polygon\"===t.geometry.type?function(t){let e=0,i=0,o=0;const s=t.length;for(let r=0;r<s-1;r++){const[s,n]=t[r],[a,l]=t[r+1],h=s*l-a*n;e+=h,i+=(s+a)*h,o+=(n+l)*h}return e/=2,i/=6*e,o/=6*e,{x:i,y:o}}(e):function(t){const e=t.length;let i=0,o=0;for(let s=0;s<e;s++){const[e,r]=t[s];i+=e,o+=r}return{x:i/e,y:o/e}}(e)}class He extends de{constructor(t,e,i){super(t),this.config=void 0,this.selectionPoints=void 0,this.midPoints=void 0,this.lastBearing=void 0,this.config=t,this.selectionPoints=e,this.midPoints=i}reset(){this.lastBearing=void 0}rotate(t,i,o){const s=this.store.getGeometryCopy(i);if(\"Polygon\"!==s.type&&\"LineString\"!==s.type)return;const r=[t.lng,t.lat];let n;const a={type:\"Feature\",geometry:s,properties:{}};if(\"web-mercator\"===this.config.projection){if(n=_e(Ye(a),Qt(t.lng,t.lat)),!this.lastBearing)return void(this.lastBearing=n);((t,e)=>{if(0===e||360===e||-360===e)return t;const i=.017453292519943295*e,o=(\"Polygon\"===t.geometry.type?t.geometry.coordinates[0]:t.geometry.coordinates).map(([t,e])=>Qt(t,e)),s=o.reduce((t,e)=>({x:t.x+e.x,y:t.y+e.y}),{x:0,y:0});s.x/=o.length,s.y/=o.length;const r=o.map(t=>({x:s.x+(t.x-s.x)*Math.cos(i)-(t.y-s.y)*Math.sin(i),y:s.y+(t.x-s.x)*Math.sin(i)+(t.y-s.y)*Math.cos(i)})).map(({x:t,y:e})=>[te(t,e).lng,te(t,e).lat]);\"Polygon\"===t.geometry.type?t.geometry.coordinates[0]=r:(console.log(\"rotatedCoordinates linestring\",r),t.geometry.coordinates=r)})(a,-(this.lastBearing-n))}else{if(\"globe\"!==this.config.projection)throw new Error(\"Unsupported projection\");if(n=Oe(Xe({type:\"Feature\",geometry:s,properties:{}}),r),!this.lastBearing)return void(this.lastBearing=n+180);!function(t,e){if(0===e||360===e||-360===e)return t;const i=Xe(t);(\"Polygon\"===t.geometry.type?t.geometry.coordinates[0]:t.geometry.coordinates).forEach(t=>{const o=Oe(i,t)+e,s=Ue(i,t),r=Le(i,s,o);t[0]=r[0],t[1]=r[1]})}(a,-(this.lastBearing-(n+180)))}const l=\"Polygon\"===s.type?s.coordinates[0]:s.coordinates;l.forEach(t=>{t[0]=e(t[0],this.coordinatePrecision),t[1]=e(t[1],this.coordinatePrecision)});const h=this.midPoints.getUpdated(l)||[],c=this.selectionPoints.getUpdated(l)||[];if(o&&!o({id:i,type:\"Feature\",geometry:s,properties:{}},{project:this.config.project,unproject:this.config.unproject,coordinatePrecision:this.config.coordinatePrecision,updateType:Wt.Provisional}))return!1;this.store.updateGeometry([{id:i,geometry:s},...c,...h]),\"web-mercator\"===this.projection?this.lastBearing=n:\"globe\"===this.projection&&(this.lastBearing=n+180)}}class Ke extends de{constructor(t,e,i){super(t),this.config=void 0,this.selectionPoints=void 0,this.midPoints=void 0,this.lastDistance=void 0,this.config=t,this.selectionPoints=e,this.midPoints=i}reset(){this.lastDistance=void 0}scale(t,o,s){const r=this.store.getGeometryCopy(o);if(\"Polygon\"!==r.type&&\"LineString\"!==r.type)return;const n=[t.lng,t.lat],a={type:\"Feature\",geometry:r,properties:{}};let l;const h=Ye(a);if(\"web-mercator\"===this.config.projection){const e=Qt(t.lng,t.lat);l=i(h,e)}else{if(\"globe\"!==this.config.projection)throw new Error(\"Invalid projection\");l=Ut(Xe({type:\"Feature\",geometry:r,properties:{}}),n)}if(!this.lastDistance)return void(this.lastDistance=l);const c=1-(this.lastDistance-l)/l;if(\"web-mercator\"===this.config.projection){const{lng:t,lat:e}=te(h.x,h.y);!function(t,e,i){if(1===e)return t;const o=(\"Polygon\"===t.geometry.type?t.geometry.coordinates[0]:t.geometry.coordinates).map(([t,e])=>Qt(t,e)),s=Qt(i[0],i[1]),r=o.map(t=>({x:s.x+(t.x-s.x)*e,y:s.y+(t.y-s.y)*e})).map(({x:t,y:e})=>[te(t,e).lng,te(t,e).lat]);\"Polygon\"===t.geometry.type?t.geometry.coordinates[0]=r:t.geometry.coordinates=r}(a,c,[t,e])}else\"globe\"===this.config.projection&&function(t,e,i,o=\"xy\"){1===e||(\"Polygon\"===t.geometry.type?t.geometry.coordinates[0]:t.geometry.coordinates).forEach(t=>{const s=Ue(i,t),r=Oe(i,t),n=Le(i,s*e,r);\"x\"!==o&&\"xy\"!==o||(t[0]=n[0]),\"y\"!==o&&\"xy\"!==o||(t[1]=n[1])})}(a,c,Xe(a));const d=\"Polygon\"===r.type?r.coordinates[0]:r.coordinates;d.forEach(t=>{t[0]=e(t[0],this.coordinatePrecision),t[1]=e(t[1],this.coordinatePrecision)});const u=this.midPoints.getUpdated(d)||[],g=this.selectionPoints.getUpdated(d)||[];if(s&&!s({id:o,type:\"Feature\",geometry:r,properties:{}},{project:this.config.project,unproject:this.config.unproject,coordinatePrecision:this.config.coordinatePrecision,updateType:Wt.Provisional}))return!1;this.store.updateGeometry([{id:o,geometry:r},...g,...u]),this.lastDistance=l}}class Je extends de{constructor(t,e,i,o){super(t),this.config=void 0,this.pixelDistance=void 0,this.selectionPoints=void 0,this.midPoints=void 0,this.minimumScale=1e-4,this.draggedCoordinate={id:null,index:-1},this.boundingBoxMaps={opposite:{0:4,1:5,2:6,3:7,4:0,5:1,6:2,7:3}},this.config=t,this.pixelDistance=e,this.selectionPoints=i,this.midPoints=o}getClosestCoordinate(t,e){const i={dist:Infinity,index:-1,isFirstOrLastPolygonCoord:!1};let o;if(\"LineString\"===e.type)o=e.coordinates;else{if(\"Polygon\"!==e.type)return i;o=e.coordinates[0]}for(let s=0;s<o.length;s++){const r=this.pixelDistance.measure(t,o[s]);if(r<this.pointerDistance&&r<i.dist){const t=\"Polygon\"===e.type&&(s===o.length-1||0===s);i.dist=r,i.index=t?0:s,i.isFirstOrLastPolygonCoord=t}}return i}isValidDragWebMercator(t,e,i){switch(t){case 0:if(e<=0||i>=0)return!1;break;case 1:if(i>=0)return!1;break;case 2:if(e>=0||i>=0)return!1;break;case 3:if(e>=0)return!1;break;case 4:if(e>=0||i<=0)return!1;break;case 5:if(i<=0)return!1;break;case 6:if(e<=0||i<=0)return!1;break;case 7:if(e<=0)return!1}return!0}getSelectedFeatureDataWebMercator(){if(!this.draggedCoordinate.id||-1===this.draggedCoordinate.index)return null;const t=this.getFeature(this.draggedCoordinate.id);if(!t)return null;const e=this.getNormalisedCoordinates(t.geometry);return{boundingBox:this.getBBoxWebMercator(e),feature:t,updatedCoords:e,selectedCoordinate:e[this.draggedCoordinate.index]}}centerWebMercatorDrag(t){const e=this.getSelectedFeatureDataWebMercator();if(!e)return null;const{feature:i,boundingBox:o,updatedCoords:s,selectedCoordinate:r}=e,n=Ye(i);if(!n)return null;const a=Qt(r[0],r[1]),{closestBBoxIndex:l}=this.getIndexesWebMercator(o,a),h=Qt(t.lng,t.lat);return this.scaleWebMercator({closestBBoxIndex:l,updatedCoords:s,webMercatorCursor:h,webMercatorSelected:a,webMercatorOrigin:n}),s}centerFixedWebMercatorDrag(t){const e=this.getSelectedFeatureDataWebMercator();if(!e)return null;const{feature:i,boundingBox:o,updatedCoords:s,selectedCoordinate:r}=e,n=Ye(i);if(!n)return null;const a=Qt(r[0],r[1]),{closestBBoxIndex:l}=this.getIndexesWebMercator(o,a),h=Qt(t.lng,t.lat);return this.scaleFixedWebMercator({closestBBoxIndex:l,updatedCoords:s,webMercatorCursor:h,webMercatorSelected:a,webMercatorOrigin:n}),s}scaleFixedWebMercator({closestBBoxIndex:t,webMercatorOrigin:e,webMercatorSelected:o,webMercatorCursor:s,updatedCoords:r}){if(!this.isValidDragWebMercator(t,e.x-s.x,e.y-s.y))return null;let n=i(e,s)/i(e,o);return n<0&&(n=this.minimumScale),this.performWebMercatorScale(r,e.x,e.y,n,n),r}oppositeFixedWebMercatorDrag(t){const e=this.getSelectedFeatureDataWebMercator();if(!e)return null;const{boundingBox:i,updatedCoords:o,selectedCoordinate:s}=e,r=Qt(s[0],s[1]),{oppositeBboxIndex:n,closestBBoxIndex:a}=this.getIndexesWebMercator(i,r),l={x:i[n][0],y:i[n][1]},h=Qt(t.lng,t.lat);return this.scaleFixedWebMercator({closestBBoxIndex:a,updatedCoords:o,webMercatorCursor:h,webMercatorSelected:r,webMercatorOrigin:l}),o}oppositeWebMercatorDrag(t){const e=this.getSelectedFeatureDataWebMercator();if(!e)return null;const{boundingBox:i,updatedCoords:o,selectedCoordinate:s}=e,r=Qt(s[0],s[1]),{oppositeBboxIndex:n,closestBBoxIndex:a}=this.getIndexesWebMercator(i,r),l={x:i[n][0],y:i[n][1]},h=Qt(t.lng,t.lat);return this.scaleWebMercator({closestBBoxIndex:a,updatedCoords:o,webMercatorCursor:h,webMercatorSelected:r,webMercatorOrigin:l}),o}scaleWebMercator({closestBBoxIndex:t,webMercatorOrigin:e,webMercatorSelected:i,webMercatorCursor:o,updatedCoords:s}){const r=e.x-o.x,n=e.y-o.y;if(!this.isValidDragWebMercator(t,r,n))return null;let a=1;0!==r&&1!==t&&5!==t&&(a=1-(e.x-i.x-r)/r);let l=1;return 0!==n&&3!==t&&7!==t&&(l=1-(e.y-i.y-n)/n),this.validateScale(a,l)?(a<0&&(a=this.minimumScale),l<0&&(l=this.minimumScale),this.performWebMercatorScale(s,e.x,e.y,a,l),s):null}getFeature(t){if(null===this.draggedCoordinate.id)return null;const e=this.store.getGeometryCopy(t);return\"Polygon\"!==e.type&&\"LineString\"!==e.type?null:{type:\"Feature\",geometry:e,properties:{}}}getNormalisedCoordinates(t){return\"Polygon\"===t.type?t.coordinates[0]:t.coordinates}validateScale(t,e){const i=!isNaN(t)&&e<Number.MAX_SAFE_INTEGER,o=!isNaN(e)&&e<Number.MAX_SAFE_INTEGER;return i&&o}performWebMercatorScale(t,e,i,o,s){t.forEach(t=>{const{x:r,y:n}=Qt(t[0],t[1]),a=e+(r-e)*o,l=i+(n-i)*s,{lng:h,lat:c}=te(a,l);t[0]=h,t[1]=c})}getBBoxWebMercator(t){const e=[Infinity,Infinity,-Infinity,-Infinity];(t=t.map(t=>{const{x:e,y:i}=Qt(t[0],t[1]);return[e,i]})).forEach(([t,i])=>{t<e[0]&&(e[0]=t),i<e[1]&&(e[1]=i),t>e[2]&&(e[2]=t),i>e[3]&&(e[3]=i)});const[i,o,s,r]=e;return[[i,r],[(i+s)/2,r],[s,r],[s,r+(o-r)/2],[s,o],[(i+s)/2,o],[i,o],[i,r+(o-r)/2]]}getIndexesWebMercator(t,e){let o,s=Infinity;for(let r=0;r<t.length;r++){const n=i({x:e.x,y:e.y},{x:t[r][0],y:t[r][1]});n<s&&(o=r,s=n)}if(void 0===o)throw new Error(\"No closest coordinate found\");return{oppositeBboxIndex:this.boundingBoxMaps.opposite[o],closestBBoxIndex:o}}isDragging(){return null!==this.draggedCoordinate.id}startDragging(t,e){this.draggedCoordinate={id:t,index:e}}stopDragging(){this.draggedCoordinate={id:null,index:-1}}getDraggableIndex(t,e){const i=this.store.getGeometryCopy(e),o=this.getClosestCoordinate(t,i);return-1===o.index?-1:o.index}drag(t,i,o){if(!this.draggedCoordinate.id)return!1;const s=this.getFeature(this.draggedCoordinate.id);if(!s)return!1;let r=null;if(\"center\"===i?r=this.centerWebMercatorDrag(t):\"opposite\"===i?r=this.oppositeWebMercatorDrag(t):\"center-fixed\"===i?r=this.centerFixedWebMercatorDrag(t):\"opposite-fixed\"===i&&(r=this.oppositeFixedWebMercatorDrag(t)),!r)return!1;for(let t=0;t<r.length;t++){const i=r[t];if(i[0]=e(i[0],this.coordinatePrecision),i[1]=e(i[1],this.coordinatePrecision),!re(i,this.coordinatePrecision))return!1}const n=this.midPoints.getUpdated(r)||[],a=this.selectionPoints.getUpdated(r)||[],l={type:s.geometry.type,coordinates:\"Polygon\"===s.geometry.type?[r]:r};return!(o&&!o({id:this.draggedCoordinate.id,type:\"Feature\",geometry:l,properties:{}},{project:this.config.project,unproject:this.config.unproject,coordinatePrecision:this.config.coordinatePrecision,updateType:Wt.Provisional})||(this.store.updateGeometry([{id:this.draggedCoordinate.id,geometry:l},...a,...n]),0))}}class $e extends Xt{constructor(e){var i;super(e),this.mode=\"select\",this.allowManualDeselection=!0,this.dragEventThrottle=5,this.dragEventCount=0,this.selected=[],this.flags=void 0,this.keyEvents=void 0,this.selectionPoints=void 0,this.midPoints=void 0,this.featuresAtMouseEvent=void 0,this.pixelDistance=void 0,this.clickBoundingBox=void 0,this.dragFeature=void 0,this.dragCoordinate=void 0,this.rotateFeature=void 0,this.scaleFeature=void 0,this.dragCoordinateResizeFeature=void 0,this.cursors=void 0,this.validations={},this.flags=e&&e.flags?e.flags:{};const o={pointerOver:\"move\",dragStart:\"move\",dragEnd:\"move\",insertMidpoint:\"crosshair\"};if(this.cursors=e&&e.cursors?t({},o,e.cursors):o,null===(null==e?void 0:e.keyEvents))this.keyEvents={deselect:null,delete:null,rotate:null,scale:null};else{const i={deselect:\"Escape\",delete:\"Delete\",rotate:[\"Control\",\"r\"],scale:[\"Control\",\"s\"]};this.keyEvents=e&&e.keyEvents?t({},i,e.keyEvents):i}if(this.dragEventThrottle=e&&void 0!==e.dragEventThrottle&&e.dragEventThrottle||5,this.allowManualDeselection=null==(i=null==e?void 0:e.allowManualDeselection)||i,e&&e.flags&&e.flags)for(const t in e.flags){const i=e.flags[t].feature;i&&i.validation&&(this.validations[t]=i.validation)}}selectFeature(t){this.select(t,!1)}setSelecting(){if(\"started\"!==this._state)throw new Error(\"Mode must be started to move to selecting state\");this._state=\"selecting\"}registerBehaviors(t){this.pixelDistance=new pe(t),this.clickBoundingBox=new ge(t),this.featuresAtMouseEvent=new Ve(t,this.clickBoundingBox,this.pixelDistance),this.selectionPoints=new Ne(t),this.midPoints=new Ge(t,this.selectionPoints),this.rotateFeature=new He(t,this.selectionPoints,this.midPoints),this.scaleFeature=new Ke(t,this.selectionPoints,this.midPoints),this.dragFeature=new ze(t,this.featuresAtMouseEvent,this.selectionPoints,this.midPoints),this.dragCoordinate=new Te(t,this.pixelDistance,this.selectionPoints,this.midPoints),this.dragCoordinateResizeFeature=new Je(t,this.pixelDistance,this.selectionPoints,this.midPoints)}deselectFeature(){this.deselect()}deselect(){const t=this.selected.filter(t=>this.store.has(t)).map(t=>({id:t,property:Gt,value:!1}));this.store.updateProperty(t),this.onDeselect(this.selected[0]),this.selected=[],this.selectionPoints.delete(),this.midPoints.delete()}deleteSelected(){this.store.delete(this.selected),this.selected=[]}onRightClick(t){if(!this.selectionPoints.ids.length)return;let e,i=Infinity;if(this.selectionPoints.ids.forEach(o=>{const s=this.store.getGeometryCopy(o),r=this.pixelDistance.measure(t,s.coordinates);r<this.pointerDistance&&r<i&&(i=r,e=this.store.getPropertiesCopy(o))}),!e)return;const o=e.selectionPointFeatureId,s=e.index,r=this.store.getPropertiesCopy(o),n=this.flags[r.mode],a=this.validations[r.mode];if(!(n&&n.feature&&n.feature.coordinates&&n.feature.coordinates.deletable))return;const l=this.store.getGeometryCopy(o);let h;if(\"Polygon\"===l.type){if(h=l.coordinates[0],h.length<=4)return}else if(\"LineString\"===l.type&&(h=l.coordinates,h.length<=3))return;if(h){if(\"Polygon\"===l.type&&0===s||s===h.length-1?(h.shift(),h.pop(),h.push([h[0][0],h[0][1]])):h.splice(s,1),a&&!a({id:o,type:\"Feature\",geometry:l,properties:r},{project:this.project,unproject:this.unproject,coordinatePrecision:this.coordinatePrecision,updateType:Wt.Commit}))return;this.store.delete([...this.midPoints.ids,...this.selectionPoints.ids]),this.store.updateGeometry([{id:o,geometry:l}]),this.selectionPoints.create(h,l.type,o),n&&n.feature&&n.feature.coordinates&&n.feature.coordinates.midpoints&&this.midPoints.create(h,o,this.coordinatePrecision)}}select(t,e=!0){if(this.selected[0]===t)return;const{mode:i}=this.store.getPropertiesCopy(t),o=this.flags[i];if(!o||!o.feature)return;const s=this.selected[0];if(s){if(s===t)return;this.deselect()}e&&this.setCursor(this.cursors.pointerOver),this.selected=[t],this.store.updateProperty([{id:t,property:\"selected\",value:!0}]),this.onSelect(t);const{type:r,coordinates:n}=this.store.getGeometryCopy(t);if(\"LineString\"!==r&&\"Polygon\"!==r)return;const a=\"LineString\"===r?n:n[0];a&&o&&o.feature.coordinates&&(this.selectionPoints.create(a,r,t),o.feature.coordinates.midpoints&&this.midPoints.create(a,t,this.coordinatePrecision))}onLeftClick(t){const{clickedFeature:e,clickedMidPoint:i}=this.featuresAtMouseEvent.find(t,this.selected.length>0);if(this.selected.length&&i)this.midPoints.insert(i.id,this.coordinatePrecision);else if(e&&e.id)this.select(e.id,!0);else if(this.selected.length&&this.allowManualDeselection)return void this.deselect()}start(){this.setStarted(),this.setSelecting()}stop(){this.cleanUp(),this.setStarted(),this.setStopped()}onClick(t){\"right\"!==t.button?\"left\"===t.button&&this.onLeftClick(t):this.onRightClick(t)}canScale(t){return this.keyEvents.scale&&this.keyEvents.scale.every(e=>t.heldKeys.includes(e))}canRotate(t){return this.keyEvents.rotate&&this.keyEvents.rotate.every(e=>t.heldKeys.includes(e))}preventDefaultKeyEvent(t){const e=this.canRotate(t),i=this.canScale(t);(e||i)&&t.preventDefault()}onKeyDown(t){this.preventDefaultKeyEvent(t)}onKeyUp(t){if(this.preventDefaultKeyEvent(t),this.keyEvents.delete&&t.key===this.keyEvents.delete){if(!this.selected.length)return;this.onDeselect(this.selected[0]),this.deleteSelected(),this.selectionPoints.delete(),this.midPoints.delete()}else this.keyEvents.deselect&&t.key===this.keyEvents.deselect&&this.cleanUp()}cleanUp(){this.selected.length&&this.deselect()}onDragStart(t,e){if(!this.selected.length)return;const i=this.store.getPropertiesCopy(this.selected[0]),o=this.flags[i.mode];if(!(o&&o.feature&&(o.feature.draggable||o.feature.coordinates&&o.feature.coordinates.draggable||o.feature.coordinates&&o.feature.coordinates.resizable)))return;this.dragEventCount=0;const s=this.selected[0],r=this.dragCoordinate.getDraggableIndex(t,s);return o&&o.feature&&o.feature.coordinates&&(o.feature.coordinates.draggable||o.feature.coordinates.resizable)&&-1!==r?(this.setCursor(this.cursors.dragStart),o.feature.coordinates.resizable?this.dragCoordinateResizeFeature.startDragging(s,r):this.dragCoordinate.startDragging(s,r),void e(!1)):o&&o.feature&&o.feature.draggable&&this.dragFeature.canDrag(t,s)?(this.setCursor(this.cursors.dragStart),this.dragFeature.startDragging(t,s),void e(!1)):void 0}onDrag(t,e){const i=this.selected[0];if(!i)return;const o=this.store.getPropertiesCopy(i),s=this.flags[o.mode],r=!0===(s&&s.feature&&s.feature.selfIntersectable);if(this.dragEventCount++,this.dragEventCount%this.dragEventThrottle==0)return;const n=this.validations[o.mode];if(s&&s.feature&&s.feature.rotateable&&this.canRotate(t))return e(!1),void this.rotateFeature.rotate(t,i,n);if(s&&s.feature&&s.feature.scaleable&&this.canScale(t))return e(!1),void this.scaleFeature.scale(t,i,n);if(this.dragCoordinateResizeFeature.isDragging()&&s.feature&&s.feature.coordinates&&s.feature.coordinates.resizable){if(\"globe\"===this.projection)throw new Error(\"Globe is currently unsupported projection for resizable\");return e(!1),void this.dragCoordinateResizeFeature.drag(t,s.feature.coordinates.resizable,n)}this.dragCoordinate.isDragging()?this.dragCoordinate.drag(t,r,n):this.dragFeature.isDragging()?this.dragFeature.drag(t,n):e(!0)}onDragEnd(t,e){this.setCursor(this.cursors.dragEnd),this.dragCoordinate.isDragging()?this.onFinish(this.selected[0],{mode:this.mode,action:\"dragCoordinate\"}):this.dragFeature.isDragging()?this.onFinish(this.selected[0],{mode:this.mode,action:\"dragFeature\"}):this.dragCoordinateResizeFeature.isDragging()&&this.onFinish(this.selected[0],{mode:this.mode,action:\"dragCoordinateResize\"}),this.dragCoordinate.stopDragging(),this.dragFeature.stopDragging(),this.dragCoordinateResizeFeature.stopDragging(),this.rotateFeature.reset(),this.scaleFeature.reset(),e(!0)}onMouseMove(t){if(!this.selected.length)return void this.setCursor(\"unset\");if(this.dragFeature.isDragging())return;let e=!1;this.midPoints.ids.forEach(i=>{if(e)return;const o=this.store.getGeometryCopy(i);this.pixelDistance.measure(t,o.coordinates)<this.pointerDistance&&(e=!0)});let i=!1;if(this.selectionPoints.ids.forEach(o=>{const s=this.store.getGeometryCopy(o);this.pixelDistance.measure(t,s.coordinates)<this.pointerDistance&&(e=!1,i=!0)}),e)return void this.setCursor(this.cursors.insertMidpoint);const{clickedFeature:o}=this.featuresAtMouseEvent.find(t,!0);this.setCursor(this.selected.length>0&&(o&&o.id===this.selected[0]||i)?this.cursors.pointerOver:\"unset\")}styleFeature(e){const i=t({},{polygonFillColor:\"#3f97e0\",polygonOutlineColor:\"#3f97e0\",polygonOutlineWidth:4,polygonFillOpacity:.3,pointColor:\"#3f97e0\",pointOutlineColor:\"#ffffff\",pointOutlineWidth:0,pointWidth:6,lineStringColor:\"#3f97e0\",lineStringWidth:4,zIndex:0});if(e.properties.mode===this.mode&&\"Point\"===e.geometry.type){if(e.properties.selectionPoint)return i.pointColor=this.getHexColorStylingValue(this.styles.selectionPointColor,i.pointColor,e),i.pointOutlineColor=this.getHexColorStylingValue(this.styles.selectionPointOutlineColor,i.pointOutlineColor,e),i.pointWidth=this.getNumericStylingValue(this.styles.selectionPointWidth,i.pointWidth,e),i.pointOutlineWidth=this.getNumericStylingValue(this.styles.selectionPointOutlineWidth,2,e),i.zIndex=30,i;if(e.properties.midPoint)return i.pointColor=this.getHexColorStylingValue(this.styles.midPointColor,i.pointColor,e),i.pointOutlineColor=this.getHexColorStylingValue(this.styles.midPointOutlineColor,i.pointOutlineColor,e),i.pointWidth=this.getNumericStylingValue(this.styles.midPointWidth,4,e),i.pointOutlineWidth=this.getNumericStylingValue(this.styles.midPointOutlineWidth,2,e),i.zIndex=40,i}else if(e.properties[Gt]){if(\"Polygon\"===e.geometry.type)return i.polygonFillColor=this.getHexColorStylingValue(this.styles.selectedPolygonColor,i.polygonFillColor,e),i.polygonOutlineWidth=this.getNumericStylingValue(this.styles.selectedPolygonOutlineWidth,i.polygonOutlineWidth,e),i.polygonOutlineColor=this.getHexColorStylingValue(this.styles.selectedPolygonOutlineColor,i.polygonOutlineColor,e),i.polygonFillOpacity=this.getNumericStylingValue(this.styles.selectedPolygonFillOpacity,i.polygonFillOpacity,e),i.zIndex=10,i;if(\"LineString\"===e.geometry.type)return i.lineStringColor=this.getHexColorStylingValue(this.styles.selectedLineStringColor,i.lineStringColor,e),i.lineStringWidth=this.getNumericStylingValue(this.styles.selectedLineStringWidth,i.lineStringWidth,e),i.zIndex=10,i;if(\"Point\"===e.geometry.type)return i.pointWidth=this.getNumericStylingValue(this.styles.selectedPointWidth,i.pointWidth,e),i.pointColor=this.getHexColorStylingValue(this.styles.selectedPointColor,i.pointColor,e),i.pointOutlineColor=this.getHexColorStylingValue(this.styles.selectedPointOutlineColor,i.pointOutlineColor,e),i.pointOutlineWidth=this.getNumericStylingValue(this.styles.selectedPointOutlineWidth,i.pointOutlineWidth,e),i.zIndex=10,i}return i}}class qe extends Tt{constructor(...t){super(...t),this.type=zt.Static,this.mode=\"static\"}start(){}stop(){}onKeyUp(){}onKeyDown(){}onClick(){}onDragStart(){}onDrag(){}onDragEnd(){}onMouseMove(){}cleanUp(){}styleFeature(){return t({},{polygonFillColor:\"#3f97e0\",polygonOutlineColor:\"#3f97e0\",polygonOutlineWidth:4,polygonFillOpacity:.3,pointColor:\"#3f97e0\",pointOutlineColor:\"#ffffff\",pointOutlineWidth:0,pointWidth:6,lineStringColor:\"#3f97e0\",lineStringWidth:4,zIndex:0})}}function Ze(t,e,i,o,s){for(;o>i;){if(o-i>600){const r=o-i+1,n=e-i+1,a=Math.log(r),l=.5*Math.exp(2*a/3),h=.5*Math.sqrt(a*l*(r-l)/r)*(n-r/2<0?-1:1);Ze(t,e,Math.max(i,Math.floor(e-n*l/r+h)),Math.min(o,Math.floor(e+(r-n)*l/r+h)),s)}const r=t[e];let n=i,a=o;for(Qe(t,i,e),s(t[o],r)>0&&Qe(t,i,o);n<a;){for(Qe(t,n,a),n++,a--;s(t[n],r)<0;)n++;for(;s(t[a],r)>0;)a--}0===s(t[i],r)?Qe(t,i,a):(a++,Qe(t,a,o)),a<=e&&(i=a+1),e<=a&&(o=a-1)}}function Qe(t,e,i){const o=t[e];t[e]=t[i],t[i]=o}function ti(t,e){ei(t,0,t.children.length,e,t)}function ei(t,e,i,o,s){s||(s=ci([])),s.minX=Infinity,s.minY=Infinity,s.maxX=-Infinity,s.maxY=-Infinity;for(let r=e;r<i;r++){const e=t.children[r];ii(s,t.leaf?o(e):e)}return s}function ii(t,e){return t.minX=Math.min(t.minX,e.minX),t.minY=Math.min(t.minY,e.minY),t.maxX=Math.max(t.maxX,e.maxX),t.maxY=Math.max(t.maxY,e.maxY),t}function oi(t,e){return t.minX-e.minX}function si(t,e){return t.minY-e.minY}function ri(t){return(t.maxX-t.minX)*(t.maxY-t.minY)}function ni(t){return t.maxX-t.minX+(t.maxY-t.minY)}function ai(t,e){const i=Math.max(t.minX,e.minX),o=Math.max(t.minY,e.minY),s=Math.min(t.maxX,e.maxX),r=Math.min(t.maxY,e.maxY);return Math.max(0,s-i)*Math.max(0,r-o)}function li(t,e){return t.minX<=e.minX&&t.minY<=e.minY&&e.maxX<=t.maxX&&e.maxY<=t.maxY}function hi(t,e){return e.minX<=t.maxX&&e.minY<=t.maxY&&e.maxX>=t.minX&&e.maxY>=t.minY}function ci(t){return{children:t,height:1,leaf:!0,minX:Infinity,minY:Infinity,maxX:-Infinity,maxY:-Infinity}}function di(t,e,i,o,s){const r=[e,i];for(;r.length;){if((i=r.pop())-(e=r.pop())<=o)continue;const n=e+Math.ceil((i-e)/o/2)*o;Ze(t,n,e,i,s),r.push(e,n,n,i)}}class ui{constructor(t){this._maxEntries=void 0,this._minEntries=void 0,this.data=void 0,this._maxEntries=Math.max(4,t),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()}search(t){let e=this.data;const i=[];if(!hi(t,e))return i;const o=this.toBBox,s=[];for(;e;){for(let r=0;r<e.children.length;r++){const n=e.children[r],a=e.leaf?o(n):n;hi(t,a)&&(e.leaf?i.push(n):li(t,a)?this._all(n,i):s.push(n))}e=s.pop()}return i}collides(t){let e=this.data;if(hi(t,e)){const i=[];for(;e;){for(let o=0;o<e.children.length;o++){const s=e.children[o],r=e.leaf?this.toBBox(s):s;if(hi(t,r)){if(e.leaf||li(t,r))return!0;i.push(s)}}e=i.pop()}}return!1}load(t){if(t.length<this._minEntries){for(let e=0;e<t.length;e++)this.insert(t[e]);return}let e=this._build(t.slice(),0,t.length-1,0);if(this.data.children.length)if(this.data.height===e.height)this._splitRoot(this.data,e);else{if(this.data.height<e.height){const t=this.data;this.data=e,e=t}this._insert(e,this.data.height-e.height-1,!0)}else this.data=e}insert(t){this._insert(t,this.data.height-1)}clear(){this.data=ci([])}remove(t){let e=this.data;const i=this.toBBox(t),o=[],s=[];let r,n,a=!1;for(;e||o.length;){if(e||(e=o.pop(),n=o[o.length-1],r=s.pop(),a=!0),e.leaf){const i=e.children.indexOf(t);-1!==i&&(e.children.splice(i,1),o.push(e),this._condense(o))}a||e.leaf||!li(e,i)?n?(r++,e=n.children[r],a=!1):e=null:(o.push(e),s.push(r),r=0,n=e,e=e.children[0])}}toBBox(t){return t}compareMinX(t,e){return t.minX-e.minX}compareMinY(t,e){return t.minY-e.minY}_all(t,e){const i=[];for(;t;)t.leaf?e.push(...t.children):i.push(...t.children),t=i.pop();return e}_build(t,e,i,o){const s=i-e+1;let r,n=this._maxEntries;if(s<=n)return r=ci(t.slice(e,i+1)),ti(r,this.toBBox),r;o||(o=Math.ceil(Math.log(s)/Math.log(n)),n=Math.ceil(s/Math.pow(n,o-1))),r=ci([]),r.leaf=!1,r.height=o;const a=Math.ceil(s/n),l=a*Math.ceil(Math.sqrt(n));di(t,e,i,l,this.compareMinX);for(let s=e;s<=i;s+=l){const e=Math.min(s+l-1,i);di(t,s,e,a,this.compareMinY);for(let i=s;i<=e;i+=a){const s=Math.min(i+a-1,e);r.children.push(this._build(t,i,s,o-1))}}return ti(r,this.toBBox),r}_chooseSubtree(t,e,i,o){for(;o.push(e),!e.leaf&&o.length-1!==i;){let i,o=Infinity,n=Infinity;for(let a=0;a<e.children.length;a++){const l=e.children[a],h=ri(l),c=(s=t,r=l,(Math.max(r.maxX,s.maxX)-Math.min(r.minX,s.minX))*(Math.max(r.maxY,s.maxY)-Math.min(r.minY,s.minY))-h);c<n?(n=c,o=h<o?h:o,i=l):c===n&&h<o&&(o=h,i=l)}e=i||e.children[0]}var s,r;return e}_insert(t,e,i){const o=i?t:this.toBBox(t),s=[],r=this._chooseSubtree(o,this.data,e,s);for(r.children.push(t),ii(r,o);e>=0&&s[e].children.length>this._maxEntries;)this._split(s,e),e--;this._adjustParentBBoxes(o,s,e)}_split(t,e){const i=t[e],o=i.children.length,s=this._minEntries;this._chooseSplitAxis(i,s,o);const r=this._chooseSplitIndex(i,s,o),n=ci(i.children.splice(r,i.children.length-r));n.height=i.height,n.leaf=i.leaf,ti(i,this.toBBox),ti(n,this.toBBox),e?t[e-1].children.push(n):this._splitRoot(i,n)}_splitRoot(t,e){this.data=ci([t,e]),this.data.height=t.height+1,this.data.leaf=!1,ti(this.data,this.toBBox)}_chooseSplitIndex(t,e,i){let o,s=Infinity,r=Infinity;for(let n=e;n<=i-e;n++){const e=ei(t,0,n,this.toBBox),a=ei(t,n,i,this.toBBox),l=ai(e,a),h=ri(e)+ri(a);l<s?(s=l,o=n,r=h<r?h:r):l===s&&h<r&&(r=h,o=n)}return o||i-e}_chooseSplitAxis(t,e,i){const o=t.leaf?this.compareMinX:oi,s=t.leaf?this.compareMinY:si;this._allDistMargin(t,e,i,o)<this._allDistMargin(t,e,i,s)&&t.children.sort(o)}_allDistMargin(t,e,i,o){t.children.sort(o);const s=this.toBBox,r=ei(t,0,e,s),n=ei(t,i-e,i,s);let a=ni(r)+ni(n);for(let o=e;o<i-e;o++){const e=t.children[o];ii(r,t.leaf?s(e):e),a+=ni(r)}for(let o=i-e-1;o>=e;o--){const e=t.children[o];ii(n,t.leaf?s(e):e),a+=ni(n)}return a}_adjustParentBBoxes(t,e,i){for(let o=i;o>=0;o--)ii(e[o],t)}_condense(t){for(let e,i=t.length-1;i>=0;i--)0===t[i].children.length?i>0?(e=t[i-1].children,e.splice(e.indexOf(t[i]),1)):this.clear():ti(t[i],this.toBBox)}}class gi{constructor(t){this.tree=void 0,this.idToNode=void 0,this.nodeToId=void 0,this.tree=new ui(t&&t.maxEntries?t.maxEntries:9),this.idToNode=new Map,this.nodeToId=new Map}setMaps(t,e){this.idToNode.set(t.id,e),this.nodeToId.set(e,t.id)}toBBox(t){const e=[],i=[];let o;if(\"Polygon\"===t.geometry.type)o=t.geometry.coordinates[0];else if(\"LineString\"===t.geometry.type)o=t.geometry.coordinates;else{if(\"Point\"!==t.geometry.type)throw new Error(\"Not a valid feature to turn into a bounding box\");o=[t.geometry.coordinates]}for(let t=0;t<o.length;t++)i.push(o[t][1]),e.push(o[t][0]);const s=Math.min(...i),r=Math.max(...i);return{minX:Math.min(...e),minY:s,maxX:Math.max(...e),maxY:r}}insert(t){if(this.idToNode.get(String(t.id)))throw new Error(\"Feature already exists\");const e=this.toBBox(t);this.setMaps(t,e),this.tree.insert(e)}load(t){const e=[],i=new Set;t.forEach(t=>{const o=this.toBBox(t);if(this.setMaps(t,o),i.has(String(t.id)))throw new Error(`Duplicate feature ID found ${t.id}`);i.add(String(t.id)),e.push(o)}),this.tree.load(e)}update(t){this.remove(t.id);const e=this.toBBox(t);this.setMaps(t,e),this.tree.insert(e)}remove(t){const e=this.idToNode.get(t);if(!e)throw new Error(`${t} not inserted into the spatial index`);this.tree.remove(e)}clear(){this.tree.clear()}search(t){return this.tree.search(this.toBBox(t)).map(t=>this.nodeToId.get(t))}collides(t){return this.tree.collides(this.toBBox(t))}}const pi={getId:()=>\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g,function(t){const e=16*Math.random()|0;return(\"x\"==t?e:3&e|8).toString(16)}),isValidId:t=>\"string\"==typeof t&&36===t.length};class yi{constructor(t){this.idStrategy=void 0,this.tracked=void 0,this.spatialIndex=void 0,this.store=void 0,this._onChange=()=>{},this.store={},this.spatialIndex=new gi,this.tracked=!t||!1!==t.tracked,this.idStrategy=t&&t.idStrategy?t.idStrategy:pi}clone(t){return JSON.parse(JSON.stringify(t))}getId(){return this.idStrategy.getId()}has(t){return Boolean(this.store[t])}load(t,e){if(0===t.length)return;const i=this.clone(t);i.forEach(t=>{null==t.id&&(t.id=this.idStrategy.getId()),this.tracked&&(t.properties.createdAt?Vt(t.properties.createdAt):t.properties.createdAt=+new Date,t.properties.updatedAt?Vt(t.properties.updatedAt):t.properties.updatedAt=+new Date)});const o=[];i.forEach(t=>{const i=t.id;if(e&&!e(t))throw new Error(`Feature is not ${i} valid: ${JSON.stringify(t)}`);if(this.has(i))throw new Error(`Feature already exists with this id: ${i}`);this.store[i]=t,o.push(i)}),this.spatialIndex.load(i),this._onChange(o,\"create\")}search(t,e){const i=this.spatialIndex.search(t).map(t=>this.store[t]);return this.clone(e?i.filter(e):i)}registerOnChange(t){this._onChange=(e,i)=>{t(e,i)}}getGeometryCopy(t){const e=this.store[t];if(!e)throw new Error(`No feature with this id (${t}), can not get geometry copy`);return this.clone(e.geometry)}getPropertiesCopy(t){const e=this.store[t];if(!e)throw new Error(`No feature with this id (${t}), can not get properties copy`);return this.clone(e.properties)}updateProperty(t){const e=[];t.forEach(({id:t,property:i,value:o})=>{const s=this.store[t];if(!s)throw new Error(`No feature with this (${t}), can not update geometry`);e.push(t),s.properties[i]=o,this.tracked&&(s.properties.updatedAt=+new Date)}),this._onChange&&this._onChange(e,\"update\")}updateGeometry(t){const e=[];t.forEach(({id:t,geometry:i})=>{e.push(t);const o=this.store[t];if(!o)throw new Error(`No feature with this (${t}), can not update geometry`);o.geometry=this.clone(i),this.spatialIndex.update(o),this.tracked&&(o.properties.updatedAt=+new Date)}),this._onChange&&this._onChange(e,\"update\")}create(e){const i=[];return e.forEach(({geometry:e,properties:o})=>{let s,r=t({},o);this.tracked&&(s=+new Date,o?(r.createdAt=\"number\"==typeof o.createdAt?o.createdAt:s,r.updatedAt=\"number\"==typeof o.updatedAt?o.updatedAt:s):r={createdAt:s,updatedAt:s});const n=this.getId(),a={id:n,type:\"Feature\",geometry:e,properties:r};this.store[n]=a,this.spatialIndex.insert(a),i.push(n)}),this._onChange&&this._onChange([...i],\"create\"),i}delete(t){t.forEach(t=>{if(!this.store[t])throw new Error(\"No feature with this id, can not delete\");delete this.store[t],this.spatialIndex.remove(t)}),this._onChange&&this._onChange([...t],\"delete\")}copyAll(){return this.clone(Object.keys(this.store).map(t=>this.store[t]))}clear(){this.store={},this.spatialIndex.clear()}size(){return Object.keys(this.store).length}}function mi(t){const e=t.coordinates;let i=0;if(e&&e.length>0){i+=Math.abs(_i(e[0]));for(let t=1;t<e.length;t++)i-=Math.abs(_i(e[t]))}return i}const fi=Yt*Yt/2,vi=Math.PI/180;function _i(t){const e=t.length;if(e<=2)return 0;let i=0,o=0;for(;o<e;)i+=(t[o+2>=e?(o+2)%e:o+2][0]*vi-t[o][0]*vi)*Math.sin(t[o+1===e?0:o+1][1]*vi),o++;return i*fi}const Ci=(t,e)=>\"Polygon\"===t.geometry.type&&mi(t.geometry)>e,Pi=(t,e)=>\"Polygon\"===t.geometry.type&&mi(t.geometry)<e,xi=t=>(\"Polygon\"===t.geometry.type||\"LineString\"===t.geometry.type)&&!oe(t);function Mi(t,e,i){const o=_e(t,e);let s=_e(e,i)-o;return s<0&&(s+=360),180-Math.abs(s-90-90)}class wi extends Tt{constructor(e){super(e),this.mode=\"angled-rectangle\",this.currentCoordinate=0,this.currentId=void 0,this.keyEvents=void 0,this.pixelDistance=void 0,this.cursors=void 0,this.mouseMove=!1;const i={start:\"crosshair\",close:\"pointer\"};if(this.cursors=e&&e.cursors?t({},i,e.cursors):i,null===(null==e?void 0:e.keyEvents))this.keyEvents={cancel:null,finish:null};else{const i={cancel:\"Escape\",finish:\"Enter\"};this.keyEvents=e&&e.keyEvents?t({},i,e.keyEvents):i}}close(){if(void 0===this.currentId)return;const t=this.currentId;this.currentCoordinate=0,this.currentId=void 0,\"drawing\"===this.state&&this.setStarted(),this.onFinish(t,{mode:this.mode,action:\"draw\"})}registerBehaviors(t){this.pixelDistance=new pe(t)}start(){this.setStarted(),this.setCursor(this.cursors.start)}stop(){this.cleanUp(),this.setStopped(),this.setCursor(\"unset\")}onMouseMove(t){if(this.mouseMove=!0,this.setCursor(this.cursors.start),void 0===this.currentId||0===this.currentCoordinate)return;const e=this.store.getGeometryCopy(this.currentId).coordinates[0];let o;if(1===this.currentCoordinate){const i=1/Math.pow(10,this.coordinatePrecision-1),s=Math.max(1e-6,i);o=[e[0],[t.lng,t.lat],[t.lng,t.lat-s],e[0]]}else if(2===this.currentCoordinate){const s=e[0],r=e[1],n=We(s,r,this.coordinatePrecision,this.project,this.unproject),a=Qt(s[0],s[1]),l=Qt(n[0],n[1]),h=Qt(r[0],r[1]),c=Qt(t.lng,t.lat),d=i(c,a)<i(c,h),u=Mi(a,l,c),g=d?90-u:Mi(a,l,c)-90,p=i(l,c),y=Math.cos(Ht(g))*p,m=_e(a,h)+(\"right\"===function(t,e,i){const o=(i.x-e.x)*(t.y-e.y)-(i.y-e.y)*(t.x-e.x);return o>1e-10?\"left\":o<-1e-10?\"right\":\"left\"}(a,h,c)?-90:90),f=fe(a,y,m),v=fe(h,y,m),_=te(f.x,f.y),C=te(v.x,v.y);o=[e[0],e[1],[C.lng,C.lat],[_.lng,_.lat],e[0]]}o&&this.updatePolygonGeometry(this.currentId,o,Wt.Provisional)}updatePolygonGeometry(t,e,i){const o={type:\"Polygon\",coordinates:[e]};return!(this.validate&&!this.validate({type:\"Feature\",geometry:o},{project:this.project,unproject:this.unproject,coordinatePrecision:this.coordinatePrecision,updateType:i})||(this.store.updateGeometry([{id:t,geometry:o}]),0))}onClick(t){if(this.currentCoordinate>0&&!this.mouseMove&&this.onMouseMove(t),this.mouseMove=!1,0===this.currentCoordinate){const[e]=this.store.create([{geometry:{type:\"Polygon\",coordinates:[[[t.lng,t.lat],[t.lng,t.lat],[t.lng,t.lat],[t.lng,t.lat]]]},properties:{mode:this.mode}}]);this.currentId=e,this.currentCoordinate++,this.setDrawing()}else if(1===this.currentCoordinate&&this.currentId){const e=this.store.getGeometryCopy(this.currentId);if(we([t.lng,t.lat],e.coordinates[0][0]))return;if(!this.updatePolygonGeometry(this.currentId,[e.coordinates[0][0],[t.lng,t.lat],[t.lng,t.lat],e.coordinates[0][0]],Wt.Commit))return;this.currentCoordinate++}else 2===this.currentCoordinate&&this.currentId&&this.close()}onKeyUp(t){t.key===this.keyEvents.cancel?this.cleanUp():t.key===this.keyEvents.finish&&this.close()}onKeyDown(){}onDragStart(){}onDrag(){}onDragEnd(){}cleanUp(){try{this.currentId&&this.store.delete([this.currentId])}catch(t){}this.currentId=void 0,this.currentCoordinate=0,\"drawing\"===this.state&&this.setStarted()}styleFeature(e){const i=t({},{polygonFillColor:\"#3f97e0\",polygonOutlineColor:\"#3f97e0\",polygonOutlineWidth:4,polygonFillOpacity:.3,pointColor:\"#3f97e0\",pointOutlineColor:\"#ffffff\",pointOutlineWidth:0,pointWidth:6,lineStringColor:\"#3f97e0\",lineStringWidth:4,zIndex:0});return e.properties.mode===this.mode&&\"Polygon\"===e.geometry.type&&(i.polygonFillColor=this.getHexColorStylingValue(this.styles.fillColor,i.polygonFillColor,e),i.polygonOutlineColor=this.getHexColorStylingValue(this.styles.outlineColor,i.polygonOutlineColor,e),i.polygonOutlineWidth=this.getNumericStylingValue(this.styles.outlineWidth,i.polygonOutlineWidth,e),i.polygonFillOpacity=this.getNumericStylingValue(this.styles.fillOpacity,i.polygonFillOpacity,e),i.zIndex=10),i}validateFeature(t){return!!super.validateFeature(t)&&t.properties.mode===this.mode&&ae(t,this.coordinatePrecision)}}class Si{constructor(e){this._modes=void 0,this._mode=void 0,this._adapter=void 0,this._enabled=!1,this._store=void 0,this._eventListeners=void 0,this._instanceSelectMode=void 0,this._adapter=e.adapter,this._mode=new qe;const i=new Set,o=e.modes.reduce((t,e)=>{if(i.has(e.mode))throw new Error(`There is already a ${e.mode} mode provided`);return i.add(e.mode),t[e.mode]=e,t},{}),s=Object.keys(o);if(0===s.length)throw new Error(\"No modes provided\");s.forEach(t=>{if(o[t].type===zt.Select){if(this._instanceSelectMode)throw new Error(\"only one type of select mode can be provided\");this._instanceSelectMode=t}}),this._modes=t({},o,{static:this._mode}),this._eventListeners={change:[],select:[],deselect:[],finish:[],ready:[]},this._store=new yi({tracked:!!e.tracked,idStrategy:e.idStrategy?e.idStrategy:void 0});const r=t=>{const e=[],i=this._store.copyAll().filter(i=>!t.includes(i.id)||(e.push(i),!1));return{changed:e,unchanged:i}},n=(t,e)=>{this._enabled&&this._eventListeners.finish.forEach(i=>{i(t,e)})},a=(t,e)=>{if(!this._enabled)return;this._eventListeners.change.forEach(i=>{i(t,e)});const{changed:i,unchanged:o}=r(t);\"create\"===e?this._adapter.render({created:i,deletedIds:[],unchanged:o,updated:[]},this.getModeStyles()):\"update\"===e?this._adapter.render({created:[],deletedIds:[],unchanged:o,updated:i},this.getModeStyles()):\"delete\"===e?this._adapter.render({created:[],deletedIds:t,unchanged:o,updated:[]},this.getModeStyles()):\"styling\"===e&&this._adapter.render({created:[],deletedIds:[],unchanged:o,updated:[]},this.getModeStyles())},l=t=>{if(!this._enabled)return;this._eventListeners.select.forEach(e=>{e(t)});const{changed:e,unchanged:i}=r([t]);this._adapter.render({created:[],deletedIds:[],unchanged:i,updated:e},this.getModeStyles())},h=t=>{if(!this._enabled)return;this._eventListeners.deselect.forEach(t=>{t()});const{changed:e,unchanged:i}=r([t]);e&&this._adapter.render({created:[],deletedIds:[],unchanged:i,updated:e},this.getModeStyles())};Object.keys(this._modes).forEach(t=>{this._modes[t].register({mode:t,store:this._store,setCursor:this._adapter.setCursor.bind(this._adapter),project:this._adapter.project.bind(this._adapter),unproject:this._adapter.unproject.bind(this._adapter),setDoubleClickToZoom:this._adapter.setDoubleClickToZoom.bind(this._adapter),onChange:a,onSelect:l,onDeselect:h,onFinish:n,coordinatePrecision:this._adapter.getCoordinatePrecision()})})}checkEnabled(){if(!this._enabled)throw new Error(\"Terra Draw is not enabled\")}getModeStyles(){const t={};return Object.keys(this._modes).forEach(e=>{t[e]=t=>this._instanceSelectMode&&t.properties[Gt]?this._modes[this._instanceSelectMode].styleFeature.bind(this._modes[this._instanceSelectMode])(t):this._modes[e].styleFeature.bind(this._modes[e])(t)}),t}featuresAtLocation({lng:t,lat:e},o){const s=o&&void 0!==o.pointerDistance?o.pointerDistance:30,r=!o||void 0===o.ignoreSelectFeatures||o.ignoreSelectFeatures,n=this._adapter.unproject.bind(this._adapter),a=this._adapter.project.bind(this._adapter),l=a(t,e),h=ue({unproject:n,point:l,pointerDistance:s});return this._store.search(h).filter(o=>{if(r&&(o.properties[Nt]||o.properties.selectionPoint))return!1;if(\"Point\"===o.geometry.type){const t=o.geometry.coordinates,e=a(t[0],t[1]);return i(l,e)<s}if(\"LineString\"===o.geometry.type){const t=o.geometry.coordinates;for(let e=0;e<t.length-1;e++){const i=t[e],o=t[e+1];if(Re(l,a(i[0],i[1]),a(o[0],o[1]))<s)return!0}return!1}return!!Ae([t,e],o.geometry.coordinates)||void 0})}getSelectMode(){if(this.checkEnabled(),!this._instanceSelectMode)throw new Error(\"No select mode defined in instance\");return this.getMode()!==this._instanceSelectMode&&this.setMode(this._instanceSelectMode),this._modes[this._instanceSelectMode]}setModeStyles(t,e){if(this.checkEnabled(),!this._modes[t])throw new Error(\"No mode with this name present\");this._modes[t].styles=e}getSnapshot(){return this._store.copyAll()}clear(){this.checkEnabled(),this._adapter.clear()}get enabled(){return this._enabled}set enabled(t){throw new Error(\"Enabled is read only\")}getMode(){return this._mode.mode}setMode(t){if(this.checkEnabled(),!this._modes[t])throw new Error(\"No mode with this name present\");this._mode.stop(),this._mode=this._modes[t],this._mode.start()}removeFeatures(t){this.checkEnabled(),this._store.delete(t)}selectFeature(t){this.getSelectMode().selectFeature(t)}deselectFeature(t){this.getSelectMode().deselectFeature(t)}getFeatureId(){return this._store.getId()}hasFeature(t){return this._store.has(t)}addFeatures(t){this.checkEnabled(),0!==t.length&&this._store.load(t,t=>{if(Boolean(t&&\"object\"==typeof t&&\"properties\"in t&&\"object\"==typeof t.properties&&null!==t.properties&&\"mode\"in t.properties)){const e=this._modes[t.properties.mode];return!!e&&e.validateFeature.bind(e)(t)}return!1})}start(){this._enabled=!0,this._adapter.register({onReady:()=>{this._eventListeners.ready.forEach(t=>{t()})},getState:()=>this._mode.state,onClick:t=>{this._mode.onClick(t)},onMouseMove:t=>{this._mode.onMouseMove(t)},onKeyDown:t=>{this._mode.onKeyDown(t)},onKeyUp:t=>{this._mode.onKeyUp(t)},onDragStart:(t,e)=>{this._mode.onDragStart(t,e)},onDrag:(t,e)=>{this._mode.onDrag(t,e)},onDragEnd:(t,e)=>{this._mode.onDragEnd(t,e)},onClear:()=>{this._mode.cleanUp(),this._store.clear()}})}getFeaturesAtLngLat(t,e){const{lng:i,lat:o}=t;return this.featuresAtLocation({lng:i,lat:o},e)}getFeaturesAtPointerEvent(t,e){const i=this._adapter.getLngLatFromEvent.bind(this._adapter)(t);return null===i?[]:this.featuresAtLocation(i,e)}stop(){this._enabled=!1,this._adapter.unregister()}on(t,e){const i=this._eventListeners[t];i.includes(e)||i.push(e)}off(t,e){const i=this._eventListeners[t];i.includes(e)&&i.splice(i.indexOf(e),1)}}const bi={TerraDrawBaseDrawMode:Tt,TerraDrawBaseAdapter:s};export{Si as TerraDraw,wi as TerraDrawAngledRectangleMode,Bt as TerraDrawArcGISMapsSDKAdapter,he as TerraDrawCircleMode,bi as TerraDrawExtend,ce as TerraDrawFreehandMode,r as TerraDrawGoogleMapsAdapter,n as TerraDrawLeafletAdapter,Se as TerraDrawLineStringMode,l as TerraDrawMapLibreGLAdapter,a as TerraDrawMapboxGLAdapter,jt as TerraDrawOpenLayersAdapter,Ee as TerraDrawPointMode,De as TerraDrawPolygonMode,ke as TerraDrawRectangleMode,Fe as TerraDrawRenderMode,$e as TerraDrawSelectMode,Pi as ValidateMaxAreaSquareMeters,Ci as ValidateMinAreaSquareMeters,xi as ValidateNotSelfIntersecting};\n//# sourceMappingURL=terra-draw.modern.js.map\n","import type { ControlOptions } from '$lib/interfaces/ControlOptions.js';\n\nexport const defaultControlOptions: ControlOptions = {\n\tpoint: true,\n\tline: true,\n\tpolygon: true,\n\trectangle: true,\n\tcircle: true,\n\tfreehand: true,\n\tangledRectangle: true,\n\tselect: true\n};\n","import type { ControlOptions } from '$lib/interfaces/ControlOptions.js';\nimport type { MapGeoJSONFeature } from 'maplibre-gl';\nimport {\n\tTerraDrawAngledRectangleMode,\n\tTerraDrawCircleMode,\n\tTerraDrawFreehandMode,\n\tTerraDrawLineStringMode,\n\tTerraDrawPointMode,\n\tTerraDrawPolygonMode,\n\tTerraDrawRectangleMode,\n\tTerraDrawSelectMode,\n\tValidateNotSelfIntersecting\n} from 'terra-draw';\n\n/**\n * This function returns an array of enabled terradraw mode objects from control option\n * @param options Terradraw control options\n * @returns return an array of enabled terradraw mode objects\n */\nexport const getTerraDrawModes = (options: ControlOptions) => {\n\tconst modes = [];\n\n\tif (options.point === true) {\n\t\tmodes.push(new TerraDrawPointMode());\n\t}\n\tif (options.line === true) {\n\t\tmodes.push(new TerraDrawLineStringMode());\n\t}\n\tif (options.polygon === true) {\n\t\tmodes.push(\n\t\t\tnew TerraDrawPolygonMode({\n\t\t\t\tvalidation: (feature: MapGeoJSONFeature, e: { updateType: string }) => {\n\t\t\t\t\tconst updateType = e.updateType;\n\t\t\t\t\tif (updateType === 'finish' || updateType === 'commit') {\n\t\t\t\t\t\treturn ValidateNotSelfIntersecting(feature);\n\t\t\t\t\t}\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t})\n\t\t);\n\t}\n\tif (options.rectangle === true) {\n\t\tmodes.push(new TerraDrawRectangleMode());\n\t}\n\tif (options.angledRectangle === true) {\n\t\tmodes.push(new TerraDrawAngledRectangleMode());\n\t}\n\tif (options.circle === true) {\n\t\tmodes.push(new TerraDrawCircleMode());\n\t}\n\tif (options.freehand === true) {\n\t\tmodes.push(new TerraDrawFreehandMode());\n\t}\n\n\tif (options.select === true) {\n\t\tmodes.push(\n\t\t\tnew TerraDrawSelectMode({\n\t\t\t\tflags: {\n\t\t\t\t\tpoint: {\n\t\t\t\t\t\tfeature: {\n\t\t\t\t\t\t\tdraggable: true\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tpolygon: {\n\t\t\t\t\t\tfeature: {\n\t\t\t\t\t\t\tdraggable: true,\n\t\t\t\t\t\t\trotateable: true,\n\t\t\t\t\t\t\tscaleable: true,\n\t\t\t\t\t\t\tcoordinates: {\n\t\t\t\t\t\t\t\tmidpoints: true,\n\t\t\t\t\t\t\t\tdraggable: true,\n\t\t\t\t\t\t\t\tdeletable: true\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tlinestring: {\n\t\t\t\t\t\tfeature: {\n\t\t\t\t\t\t\tdraggable: true,\n\t\t\t\t\t\t\tcoordinates: {\n\t\t\t\t\t\t\t\tmidpoints: true,\n\t\t\t\t\t\t\t\tdraggable: true,\n\t\t\t\t\t\t\t\tdeletable: true\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tfreehand: {\n\t\t\t\t\t\tfeature: {\n\t\t\t\t\t\t\tdraggable: true,\n\t\t\t\t\t\t\tcoordinates: {\n\t\t\t\t\t\t\t\tmidpoints: true,\n\t\t\t\t\t\t\t\tdraggable: true,\n\t\t\t\t\t\t\t\tdeletable: true\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tcircle: {\n\t\t\t\t\t\tfeature: {\n\t\t\t\t\t\t\tdraggable: true,\n\t\t\t\t\t\t\tcoordinates: {\n\t\t\t\t\t\t\t\tmidpoints: true,\n\t\t\t\t\t\t\t\tdraggable: true,\n\t\t\t\t\t\t\t\tdeletable: true\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\trectangle: {\n\t\t\t\t\t\tfeature: {\n\t\t\t\t\t\t\tdraggable: true,\n\t\t\t\t\t\t\trotateable: true,\n\t\t\t\t\t\t\tscaleable: true,\n\t\t\t\t\t\t\tcoordinates: {\n\t\t\t\t\t\t\t\tmidpoints: true,\n\t\t\t\t\t\t\t\tdraggable: true,\n\t\t\t\t\t\t\t\tdeletable: true\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t'angled-rectangle': {\n\t\t\t\t\t\tfeature: {\n\t\t\t\t\t\t\tdraggable: true,\n\t\t\t\t\t\t\trotateable: true,\n\t\t\t\t\t\t\tscaleable: true,\n\t\t\t\t\t\t\tcoordinates: {\n\t\t\t\t\t\t\t\tmidpoints: true,\n\t\t\t\t\t\t\t\tdraggable: true,\n\t\t\t\t\t\t\t\tdeletable: true\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t);\n\t}\n\n\treturn modes;\n};\n","import type { ControlPosition, IControl, Map } from 'maplibre-gl';\nimport { TerraDraw, TerraDrawMapLibreGLAdapter } from 'terra-draw';\nimport type { ControlOptions, TerradrawMode } from './interfaces/index.js';\nimport { defaultControlOptions } from './constants/defaultControlOptions.js';\nimport { getTerraDrawModes } from './helpers/index.js';\n\nexport class MaplibreTerradrawControl implements IControl {\n\tprivate controlContainer?: HTMLElement;\n\tprivate map?: Map;\n\tprivate addButton?: HTMLButtonElement;\n\tprivate modeButtons: { [key: string]: HTMLButtonElement } = {};\n\tprivate deleteButton?: HTMLButtonElement;\n\tprivate isExpanded = false;\n\tprivate activeMode: string;\n\n\tprivate terradraw?: TerraDraw;\n\tprivate options: ControlOptions = defaultControlOptions;\n\n\tconstructor(options?: ControlOptions) {\n\t\tthis.modeButtons = {};\n\t\tthis.activeMode = '';\n\n\t\tif (options) {\n\t\t\tthis.options = Object.assign(this.options, options);\n\t\t}\n\t}\n\n\tpublic getDefaultPosition(): ControlPosition {\n\t\tconst defaultPosition = 'top-right';\n\t\treturn defaultPosition;\n\t}\n\n\tpublic onAdd(map: Map): HTMLElement {\n\t\tthis.map = map;\n\n\t\tconst modes = getTerraDrawModes(this.options);\n\t\tif (modes.length === 0) {\n\t\t\tthrow new Error('At least a mode must be enabled.');\n\t\t}\n\t\tthis.terradraw = new TerraDraw({\n\t\t\tadapter: new TerraDrawMapLibreGLAdapter({ map }),\n\t\t\tmodes: modes\n\t\t});\n\n\t\tthis.terradraw.start();\n\n\t\tthis.controlContainer = document.createElement('div');\n\t\tthis.controlContainer.classList.add(`maplibregl-ctrl`);\n\t\tthis.controlContainer.classList.add(`maplibregl-ctrl-group`);\n\n\t\tthis.addButton = document.createElement('button');\n\t\tthis.addButton.classList.add(`maplibregl-terradraw-add-button`);\n\t\tthis.addButton.type = 'button';\n\t\tthis.addButton.addEventListener('click', () => {\n\t\t\tif (!this.terradraw) return;\n\n\t\t\tconst controls = document.getElementsByClassName('maplibregl-terradraw-add-control');\n\t\t\tfor (let i = 0; i < controls.length; i++) {\n\t\t\t\tconst item = controls.item(i);\n\t\t\t\tif (!item) continue;\n\t\t\t\tif (this.isExpanded) {\n\t\t\t\t\titem.classList.add('hidden');\n\t\t\t\t\tthis.addButton?.classList.remove('enabled');\n\t\t\t\t\tthis.resetActiveMode();\n\t\t\t\t} else {\n\t\t\t\t\titem.classList.remove('hidden');\n\t\t\t\t\tthis.addButton?.classList.add('enabled');\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.isExpanded = !this.isExpanded;\n\t\t});\n\n\t\tmodes.forEach((m) => {\n\t\t\tthis.addTerradrawButton(m.mode);\n\t\t});\n\n\t\tthis.deleteButton = document.createElement('button');\n\t\tthis.deleteButton.classList.add('maplibregl-terradraw-add-control');\n\t\tthis.deleteButton.classList.add(`maplibregl-terradraw-delete-button`);\n\t\tthis.deleteButton.classList.add('hidden');\n\t\tthis.deleteButton.type = 'button';\n\t\tthis.deleteButton.addEventListener('click', () => {\n\t\t\tif (!this.terradraw) return;\n\t\t\tif (!this.terradraw.enabled) return;\n\t\t\tthis.terradraw.clear();\n\t\t\tthis.deactivate();\n\t\t});\n\n\t\tthis.controlContainer.appendChild(this.addButton);\n\t\tObject.values(this.modeButtons).forEach((ele) => {\n\t\t\tthis.controlContainer?.appendChild(ele);\n\t\t});\n\t\tthis.controlContainer.appendChild(this.deleteButton);\n\n\t\treturn this.controlContainer;\n\t}\n\n\tpublic onRemove(): void {\n\t\tif (\n\t\t\t!this.controlContainer ||\n\t\t\t!this.controlContainer.parentNode ||\n\t\t\t!this.map ||\n\t\t\t!this.addButton\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tthis.modeButtons = {};\n\t\tthis.terradraw = undefined;\n\t\tthis.map = undefined;\n\t}\n\n\tpublic activate() {\n\t\tif (!this.terradraw) return;\n\t\tif (!this.terradraw.enabled) {\n\t\t\tthis.terradraw.start();\n\t\t}\n\t}\n\n\tpublic deactivate() {\n\t\tif (!this.terradraw) return;\n\t\tif (!this.terradraw.enabled) return;\n\t\tthis.terradraw.stop();\n\t\tthis.deactivate();\n\t\tthis.resetActiveMode();\n\t}\n\n\tpublic getTerraDrawInstance() {\n\t\treturn this.terradraw;\n\t}\n\n\tprivate resetActiveMode() {\n\t\tthis.activeMode = '';\n\n\t\tconst controls = document.getElementsByClassName('maplibregl-terradraw-add-control');\n\t\tfor (let i = 0; i < controls.length; i++) {\n\t\t\tconst item = controls.item(i);\n\t\t\tif (!item) continue;\n\t\t\titem.classList.remove('active');\n\t\t}\n\t}\n\n\tprivate addTerradrawButton(mode: TerradrawMode) {\n\t\tconst btn = document.createElement('button');\n\t\tbtn.classList.add('maplibregl-terradraw-add-control');\n\t\tbtn.classList.add(`maplibregl-terradraw-add-${mode}-button`);\n\t\tbtn.classList.add('hidden');\n\t\tbtn.type = 'button';\n\t\tbtn.addEventListener('click', () => {\n\t\t\tif (!this.terradraw) return;\n\t\t\tthis.activate();\n\t\t\tthis.resetActiveMode();\n\t\t\tthis.terradraw.setMode(mode);\n\t\t\tthis.activeMode = mode;\n\t\t\tbtn.classList.add('active');\n\t\t});\n\t\tthis.modeButtons[mode] = btn;\n\t}\n}\n"],"names":["t","e","i","o","s","r","n","a","l","c","b","O","L","W","j","B","G","N","A","R","H","K","ht","ct","dt","ut","gt","pt","yt","mt","ft","vt","_t","Ct","Pt","Mt","wt","St","Et","Dt","Ft","Ot","Lt","Wt","Gt","Nt","At","Rt","Vt","zt","Tt","Xt","Ut","Yt","Ht","Kt","Jt","$t","qt","Zt","Qt","te","ee","ie","oe","h","d","se","u","g","re","ne","ae","le","he","p","ce","de","ue","ge","pe","ye","me","fe","ve","_e","Ce","Pe","xe","Me","y","we","Se","be","Ee","Ie","De","ke","Oe","Le","We","je","Be","Ge","Ne","Ae","Re","Ve","ze","Te","Xe","Ue","Ye","He","Ke","Je","$e","qe","Ze","Qe","ti","ei","ci","ii","oi","si","ri","ni","ai","li","hi","di","ui","gi","pi","yi","xi","Mi","wi","m","v","C","Si","defaultControlOptions","getTerraDrawModes","options","modes","TerraDrawPointMode","TerraDrawLineStringMode","TerraDrawPolygonMode","feature","updateType","ValidateNotSelfIntersecting","TerraDrawRectangleMode","TerraDrawAngledRectangleMode","TerraDrawCircleMode","TerraDrawFreehandMode","TerraDrawSelectMode","MaplibreTerradrawControl","__publicField","map","TerraDraw","TerraDrawMapLibreGLAdapter","controls","item","_a","_b","ele","mode","btn"],"mappings":"iZAAA,SAASA,GAAG,CAAC,OAAOA,EAAE,OAAO,OAAO,OAAO,OAAO,KAAI,EAAG,SAASA,EAAE,CAAC,QAAQC,EAAE,EAAEA,EAAE,UAAU,OAAOA,IAAI,CAAC,IAAIC,EAAE,UAAUD,CAAC,EAAE,QAAQE,KAAKD,EAAE,OAAO,UAAU,eAAe,KAAKA,EAAEC,CAAC,IAAIH,EAAEG,CAAC,EAAED,EAAEC,CAAC,EAAE,CAAC,OAAOH,CAAC,EAAEA,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,SAASC,EAAED,EAAEC,EAAE,EAAE,CAAC,MAAMC,EAAE,KAAK,IAAI,GAAGD,CAAC,EAAE,OAAO,KAAK,MAAMD,EAAEE,CAAC,EAAEA,CAAC,CAAC,MAAMA,EAAE,CAACF,EAAEC,IAAI,CAAC,KAAK,CAAC,EAAEC,EAAE,EAAEC,CAAC,EAAEH,EAAE,CAAC,EAAEI,EAAE,EAAEC,CAAC,EAAEJ,EAAEK,EAAEF,EAAEF,EAAE,EAAEG,EAAEF,EAAE,OAAO,KAAK,KAAK,EAAE,EAAEG,EAAEA,CAAC,CAAC,EAAE,MAAMH,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,CAAC,KAAK,KAAK,OAAO,KAAK,SAAS,OAAO,KAAK,WAAW,GAAG,KAAK,SAAS,OAAO,KAAK,WAAW,OAAO,KAAK,KAAK,EAAE,KAAK,SAAS,IAAI,CAAC,KAAK,aAAa,KAAK,WAAW,GAAG,EAAE,CAAC,EAAE,EAAE,KAAK,WAAW,IAAI,CAAC,KAAK,WAAW,KAAK,WAAW,GAAG,EAAE,CAAC,EAAE,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,MAAMC,EAAC,CAAC,YAAY,EAAE,CAAC,KAAK,sBAAsB,OAAO,KAAK,6BAA6B,OAAO,KAAK,+BAA+B,OAAO,KAAK,eAAe,OAAO,KAAK,qBAAqB,OAAO,KAAK,UAAU,IAAI,IAAI,KAAK,WAAW,CAAA,EAAG,KAAK,WAAW,eAAe,KAAK,sBAAsB,OAAO,KAAK,sBAAgC,OAAO,EAAE,sBAAnB,SAAwC,EAAE,qBAAqB,EAAE,KAAK,+BAAyC,OAAO,EAAE,+BAAnB,SAAiD,EAAE,8BAA8B,EAAE,KAAK,6BAAuC,OAAO,EAAE,6BAAnB,SAA+C,EAAE,4BAA4B,EAAE,KAAK,qBAA+B,OAAO,EAAE,qBAAnB,SAAuC,EAAE,oBAAoB,CAAC,CAAC,UAAU,EAAE,CAAC,OAAW,EAAE,SAAP,GAAc,UAAc,EAAE,SAAN,EAAa,OAAW,EAAE,SAAN,EAAa,SAAa,EAAE,SAAN,EAAa,QAAQ,SAAS,CAAC,wBAAwB,EAAE,CAAC,MAAM,EAAE,KAAK,mBAAkB,EAAG,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,wBAAwB,MAAM,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,sBAAsB,EAAE,CAAC,MAAMF,EAAE,KAAK,mBAAmB,CAAC,EAAE,GAAG,CAACA,EAAE,OAAO,KAAK,KAAK,CAAC,IAAIC,EAAE,IAAIC,CAAC,EAAEF,EAAE,CAAC,WAAWG,EAAE,WAAWC,CAAC,EAAE,KAAK,wBAAwB,CAAC,EAAE,EAAE,KAAK,UAAU,CAAC,EAAE,EAAE,MAAM,KAAK,KAAK,SAAS,EAAE,MAAM,CAAC,IAAIL,EAAEE,EAAE,KAAK,oBAAoB,EAAE,IAAIF,EAAEG,EAAE,KAAK,oBAAoB,EAAE,WAAWC,EAAE,WAAWC,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,KAAK,sBAAsB,EAAE,KAAK,WAAW,KAAK,sBAAsB,KAAK,WAAW,QAAQN,GAAG,CAACA,EAAE,UAAU,CAAC,CAAC,CAAC,wBAAwB,CAAC,OAAO,KAAK,oBAAoB,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAIG,EAAE,CAAC,KAAK,cAAc,SAAS,GAAG,CAAuC,GAAnC,CAAC,KAAK,uBAAgC,CAAC,EAAE,UAAU,OAAO,MAAM,EAAE,KAAK,sBAAsB,CAAC,EAAE,IAAI,KAAK,WAAW,eAAe,KAAK,eAAe,EAAE,EAAE,SAAS,GAAG,CAAC,KAAK,mBAAkB,EAAG,iBAAiB,cAAc,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,KAAK,mBAAoB,EAAC,oBAAoB,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,IAAIA,EAAE,CAAC,KAAK,cAAc,SAAS,GAAG,CAAuC,GAAnC,CAAC,KAAK,uBAAgC,CAAC,EAAE,UAAU,OAAO,EAAE,iBAAiB,MAAM,EAAE,KAAK,sBAAsB,CAAC,EAAE,GAAG,EAAE,GAAoB,KAAK,aAAtB,eAAiC,KAAK,sBAAsB,YAAY,CAAC,EAAE,KAAK,eAAe,UAA2B,KAAK,aAAtB,eAAiC,CAAC,GAAG,CAAC,KAAK,eAAe,OAAO,MAAMH,EAAE,CAAC,EAAE,KAAK,eAAe,WAAW,EAAE,KAAK,eAAe,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,UAAU,EAAEI,EAAE,KAAK,sBAAsB,SAAQ,EAAG,EAAEF,EAAEF,EAAE,CAAC,EAAE,IAAIM,EAAE,GAAG,GAAGA,EAAcF,IAAZ,UAAc,EAAE,KAAK,6BAA2CA,IAAd,YAAgB,EAAE,KAAK,+BAA+B,EAAE,KAAK,sBAAsBE,EAAE,OAAO,KAAK,WAAW,WAAW,KAAK,sBAAsB,YAAY,EAAEN,GAAG,CAAC,KAAK,gBAAgB,KAAK,IAAI,EAAEA,CAAC,CAAC,CAAC,CAAC,MAAkB,KAAK,aAAlB,YAA8B,KAAK,sBAAsB,OAAO,EAAEA,GAAG,CAAC,KAAK,gBAAgB,KAAK,IAAI,EAAEA,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,KAAK,qBAAqB,iBAAiB,cAAc,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,KAAK,mBAAkB,EAAG,oBAAoB,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,IAAIG,EAAE,CAAC,KAAK,cAAc,SAAS,GAAG,CAAC,KAAK,uBAAuB,EAAE,eAAc,CAAE,EAAE,SAAS,GAAG,CAAC,KAAK,mBAAkB,EAAG,iBAAiB,cAAc,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,KAAK,mBAAoB,EAAC,oBAAoB,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,IAAIA,EAAE,CAAC,KAAK,YAAY,SAAS,GAAG,CAAsF,GAAlF,CAAC,KAAK,uBAAgC,EAAE,SAAS,KAAK,sBAA+B,CAAC,EAAE,UAAU,OAAO,MAAM,EAAE,KAAK,sBAAsB,CAAC,EAAE,IAAiB,KAAK,aAAlB,WAA6B,KAAK,sBAAsB,UAAU,EAAEH,GAAG,CAAC,KAAK,gBAAgB,KAAK,IAAI,EAAEA,CAAC,CAAC,CAAC,EAAmB,KAAK,aAAtB,gBAAmD,KAAK,aAAtB,gBAAkC,KAAK,sBAAsB,QAAQ,CAAC,EAAE,KAAK,WAAW,eAAe,KAAK,gBAAgB,EAAE,EAAE,EAAE,SAAS,GAAG,CAAC,KAAK,mBAAoB,EAAC,iBAAiB,YAAY,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,KAAK,mBAAkB,EAAG,oBAAoB,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,IAAIG,EAAE,CAAC,KAAK,QAAQ,SAAS,GAAG,CAAC,KAAK,wBAAwB,KAAK,UAAU,OAAO,EAAE,GAAG,EAAE,KAAK,sBAAsB,QAAQ,CAAC,IAAI,EAAE,IAAI,SAAS,MAAM,KAAK,KAAK,SAAS,EAAE,eAAe,IAAI,EAAE,eAAgB,CAAA,CAAC,EAAE,EAAE,SAAS,GAAG,CAAC,KAAK,mBAAoB,EAAC,iBAAiB,QAAQ,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,KAAK,mBAAkB,EAAG,oBAAoB,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,IAAIA,EAAE,CAAC,KAAK,UAAU,SAAS,GAAG,CAAC,KAAK,wBAAwB,KAAK,UAAU,IAAI,EAAE,GAAG,EAAE,KAAK,sBAAsB,UAAU,CAAC,IAAI,EAAE,IAAI,SAAS,MAAM,KAAK,KAAK,SAAS,EAAE,eAAe,IAAI,EAAE,eAAgB,CAAA,CAAC,EAAE,EAAE,SAAS,GAAG,CAAC,KAAK,mBAAoB,EAAC,iBAAiB,UAAU,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,KAAK,mBAAkB,EAAG,oBAAoB,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,WAAW,QAAQ,GAAG,CAAC,EAAE,WAAY,CAAA,CAAC,EAAE,KAAK,MAAK,CAAE,CAAC,CAAwmR,MAAMI,WAAUH,EAAC,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,YAAY,OAAO,KAAK,KAAK,OAAO,KAAK,WAAW,OAAO,KAAK,UAAU,GAAG,KAAK,WAAW,CAAC,SAAS,GAAG,OAAO,GAAG,YAAY,GAAG,SAAS,GAAG,QAAQ,EAAE,EAAE,KAAK,KAAK,EAAE,IAAI,KAAK,WAAW,KAAK,KAAK,aAAc,CAAA,CAAC,aAAa,CAAC,KAAK,YAAY,CAAC,QAAQ,aAAa,SAAS,EAAE,QAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,KAAK,KAAK,YAAY,CAAC,EAAc,IAAZ,WAAe,KAAK,KAAK,YAAY,EAAE,UAAU,EAAE,KAAK,KAAK,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,GAAG,KAAK,cAAc,qBAAqB,KAAK,WAAW,EAAE,KAAK,YAAY,QAAQ,CAAC,kBAAkB,EAAE,EAAE,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC,KAAK,UAAU,KAAK,CAAC,KAAK,oBAAoB,SAAS,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,OAAO,KAAK,KAAK,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,OAAO,MAAM,CAAC,aAAa,CAAC,MAAM,kBAAkB,EAAE,eAAe,CAAC,MAAM,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,KAAK,SAAS,CAAC,GAAG,EAAE,WAAW,OAAO,EAAE,KAAK,OAAO,MAAM,CAAC,aAAa,CAAC,MAAM,qBAAqB,EAAE,aAAa,CAAC,MAAM,qBAAqB,CAAC,CAAC,CAAC,EAAE,OAAO,GAAG,KAAK,KAAK,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,KAAK,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,OAAO,MAAM,CAAC,aAAa,CAAC,MAAM,iBAAiB,EAAE,aAAa,CAAC,MAAM,iBAAiB,CAAC,CAAC,CAAC,EAAE,OAAO,GAAG,KAAK,KAAK,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,KAAK,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,SAAS,MAAM,CAAC,sBAAsB,CAAC,MAAM,mBAAmB,EAAE,sBAAsB,CAAC,MAAM,mBAAmB,EAAE,gBAAgB,CAAC,MAAM,YAAY,EAAE,eAAe,CAAC,MAAM,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,GAAG,KAAK,KAAK,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,EAAE,EAAE,CAAW,IAAV,SAAa,KAAK,eAAe,EAAE,CAAC,EAAiB,IAAf,cAAkB,KAAK,cAAc,EAAE,CAAC,EAAc,IAAZ,YAAgB,KAAK,cAAc,CAAC,EAAE,KAAK,qBAAqB,EAAE,CAAC,EAAE,CAAC,iBAAiB,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,YAAa,CAAA,GAAG,OAAO,KAAK,kBAAkB,EAAE,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,YAAW,CAAE,GAAG,OAAO,KAAK,KAAK,UAAU,CAAC,EAAE,QAAQ,CAAC,KAAK,oBAAoB,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAA,EAAG,YAAY,CAAE,EAAC,SAAS,EAAE,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,GAAG,EAAE,QAAQ,GAAG,EAAE,OAAO,EAAE,QAAQJ,GAAG,CAAWA,EAAE,SAAS,OAArB,QAA0B,KAAK,WAAW,OAAO,GAAkBA,EAAE,SAAS,OAA1B,aAA+B,KAAK,WAAW,YAAY,GAAeA,EAAE,SAAS,OAAvB,YAA8B,KAAK,WAAW,SAAS,GAAG,CAAC,EAAE,EAAE,WAAW,OAAO,IAAI,KAAK,WAAW,SAAS,IAAQ,EAAE,QAAQ,SAAd,GAA0B,EAAE,QAAQ,SAAd,GAA0B,EAAE,WAAW,SAAjB,IAA0B,KAAK,WAAW,QAAQ,GAAG,CAAC,mBAAmB,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,KAAK,WAAW,wBAAwB,OAAO,KAAK,UAAU,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,KAAK,KAAK,UAAW,CAAA,CAAC,gBAAgB,EAAE,CAAC,GAAG,KAAK,KAAK,WAAW,OAAM,EAAG,KAAK,KAAK,QAAQ,OAAM,IAAK,KAAK,KAAK,WAAW,QAAS,EAAC,KAAK,KAAK,QAAQ,QAAS,EAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,KAAK,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,KAAK,KAAK,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,KAAK,KAAK,UAAW,EAAW,IAAV,QAAY,EAAE,MAAM,eAAe,QAAQ,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,qBAAqB,EAAE,CAAC,EAAE,KAAK,KAAK,gBAAgB,OAAM,EAAG,KAAK,KAAK,gBAAgB,QAAO,CAAE,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,iBAAiB,CAAC,EAAE,KAAK,aAAa,qBAAqB,KAAK,WAAW,EAAE,KAAK,YAAY,sBAAsB,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,QAAQ,GAAG,EAAE,QAAQ,GAAG,EAAE,SAAS,EAAE,EAAE,KAAK,mBAAkB,EAAG,QAAQA,EAAE,EAAEA,EAAE,EAAE,OAAOA,IAAI,CAAC,MAAMI,EAAE,EAAEJ,CAAC,EAAE,OAAO,KAAK,CAAC,EAAE,QAAQA,GAAG,CAAC,KAAK,CAAC,WAAWE,CAAC,EAAEE,EAAE,GAAGF,EAAE,OAAOF,EAAE,OAAO,MAAMK,EAAE,EAAEL,CAAC,EAAEI,CAAC,EAAYA,EAAE,SAAS,OAArB,SAA2BF,EAAE,WAAWG,EAAE,WAAWH,EAAE,kBAAkBG,EAAE,kBAAkBH,EAAE,kBAAkBG,EAAE,kBAAkBH,EAAE,WAAWG,EAAE,WAAW,EAAE,OAAO,KAAKD,CAAC,GAAkBA,EAAE,SAAS,OAA1B,cAAgCF,EAAE,gBAAgBG,EAAE,gBAAgBH,EAAE,gBAAgBG,EAAE,gBAAgB,EAAE,YAAY,KAAKD,CAAC,GAAeA,EAAE,SAAS,OAAvB,YAA8BF,EAAE,iBAAiBG,EAAE,iBAAiBH,EAAE,mBAAmBG,EAAE,mBAAmBH,EAAE,oBAAoBG,EAAE,oBAAoBH,EAAE,oBAAoBG,EAAE,oBAAoB,EAAE,SAAS,KAAKD,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAOA,EAAE,YAAY,EAAE,SAASE,CAAC,EAAE,EAAE,GAAG,KAAK,UAAU,CAAC,MAAMN,EAAE,KAAK,WAAW,UAAU,KAAK,WAAW,QAAQC,EAAED,GAAG,KAAK,WAAW,YAAYE,EAAEF,GAAG,KAAK,WAAW,SAAS,IAAIG,GAAGH,GAAG,KAAK,WAAW,UAAUG,EAAE,KAAK,qBAAqB,QAAQC,CAAC,GAAGH,GAAG,KAAK,qBAAqB,aAAa,CAAC,EAAEC,GAAG,KAAK,qBAAqB,UAAUI,CAAC,EAAEH,GAAG,KAAK,KAAK,UAAUA,CAAC,CAAC,KAAK,CAAC,MAAMH,EAAE,KAAK,iBAAiB,QAAQI,CAAC,EAAE,KAAK,iBAAiB,aAAa,CAAC,EAAE,KAAK,iBAAiB,UAAUE,CAAC,EAAE,KAAK,UAAU,GAAGN,GAAG,KAAK,KAAK,UAAUA,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,OAAO,GAAG,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,wBAAwB,KAAK,sBAAsB,QAAO,EAAG,KAAK,YAAW,EAAG,CAAC,wBAAwB,CAAC,OAAO,MAAM,uBAAsB,CAAE,CAAC,YAAY,CAAC,OAAO,MAAM,WAAU,CAAE,CAAC,SAAS,EAAE,CAAC,MAAM,SAAS,CAAC,EAAE,KAAK,uBAAuB,KAAK,sBAAsB,SAAS,KAAK,sBAAsB,QAAO,CAAE,CAAC,CAAC,MAAMQ,WAAUJ,EAAC,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,gBAAgB,OAAO,KAAK,gBAAgB,IAAIG,GAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,KAAK,gBAAgB,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,gBAAgB,WAAU,CAAE,CAAC,wBAAwB,CAAC,OAAO,KAAK,gBAAgB,uBAAwB,CAAA,CAAC,mBAAmB,EAAE,CAAC,OAAO,KAAK,gBAAgB,mBAAmB,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,KAAK,gBAAgB,mBAAoB,CAAA,CAAC,gBAAgB,EAAE,CAAC,KAAK,gBAAgB,gBAAgB,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,KAAK,gBAAgB,QAAQ,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,OAAO,KAAK,gBAAgB,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,KAAK,gBAAgB,UAAU,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC,KAAK,gBAAgB,qBAAqB,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,gBAAgB,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,gBAAgB,MAAK,CAAE,CAAC,CAAgE,IAAIE,GAAE,EAA8jV,MAAMC,EAAe,OAAO,UAApB,KAAwC,UAAU,YAAnB,OAA6B,UAAU,UAAU,YAAW,EAAG,GAAGA,EAAE,SAAS,SAAS,EAAEA,EAAE,SAAS,QAAQ,GAAG,CAACA,EAAE,SAAS,OAAO,IAAIA,EAAE,SAAS,cAAc,GAAG,wCAAwC,KAAKA,CAAC,GAAGA,EAAE,SAAS,QAAQ,GAAGA,EAAE,SAAS,MAAM,EAAEA,EAAE,SAAS,WAAW,EAAuB,OAAO,kBAApB,KAAoD,OAAO,gBAApB,KAAqC,gBAAgB,kBAAoS,UAAU,CAAC,IAAIV,EAAE,GAAG,GAAG,CAAC,MAAMC,EAAE,OAAO,eAAe,CAAE,EAAC,UAAU,CAAC,IAAI,UAAU,CAACD,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,iBAAiB,IAAI,KAAKC,CAAC,EAAE,OAAO,oBAAoB,IAAI,KAAKA,CAAC,CAAC,MAAS,EAAE,EAAC,EAAG,IAAIU,GAAE,KAAK,CAAC,aAAa,CAAC,KAAK,SAAS,EAAE,CAAC,SAAS,CAAC,KAAK,WAAW,KAAK,SAAS,GAAG,KAAK,gBAAiB,EAAC,CAAC,iBAAiB,CAAE,CAAA,EAAEC,GAAE,KAAK,CAAC,YAAYZ,EAAE,CAAC,KAAK,KAAKA,EAAE,KAAK,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,iBAAiB,EAAE,CAAC,iBAAiB,CAAC,KAAK,mBAAmB,EAAE,CAAC,EAAE,SAASa,IAAG,CAAA,CAAE,SAASC,GAAEd,EAAE,CAAC,UAAUC,KAAKD,EAAE,OAAOA,EAAEC,CAAC,CAAC,CAAC,IAAIc,GAAE,cAAcJ,EAAC,CAAC,YAAYX,EAAE,CAAC,MAAK,EAAG,KAAK,aAAaA,EAAE,KAAK,iBAAiB,KAAK,KAAK,aAAa,KAAK,KAAK,WAAW,IAAI,CAAC,iBAAiBA,EAAEC,EAAE,CAAC,GAAG,CAACD,GAAG,CAACC,EAAE,OAAO,MAAMC,EAAE,KAAK,aAAa,KAAK,WAAW,CAAA,GAAIC,EAAED,EAAEF,CAAC,IAAIE,EAAEF,CAAC,EAAE,CAAE,GAAEG,EAAE,SAASF,CAAC,GAAGE,EAAE,KAAKF,CAAC,CAAC,CAAC,cAAcD,EAAE,CAAC,MAAMC,EAAY,OAAOD,GAAjB,SAAmBE,EAAED,EAAED,EAAEA,EAAE,KAAKG,EAAE,KAAK,YAAY,KAAK,WAAWD,CAAC,EAAE,GAAG,CAACC,EAAE,OAAO,MAAMC,EAAEH,EAAE,IAAIW,GAAEZ,CAAC,EAAEA,EAAEI,EAAE,SAASA,EAAE,OAAO,KAAK,cAAc,MAAM,MAAMC,EAAE,KAAK,eAAe,KAAK,aAAa,IAAIC,EAAE,KAAK,mBAAmB,KAAK,iBAAiB,CAAE,GAAE,IAAI,EAAEJ,KAAKG,IAAIA,EAAEH,CAAC,EAAE,EAAEI,EAAEJ,CAAC,EAAE,GAAG,EAAEG,EAAEH,CAAC,EAAE,QAAQF,EAAE,EAAEC,EAAEE,EAAE,OAAOH,EAAEC,EAAE,EAAED,EAAE,GAAG,EAAE,gBAAgBG,EAAEH,CAAC,EAAEG,EAAEH,CAAC,EAAE,YAAYI,CAAC,EAAED,EAAEH,CAAC,EAAE,KAAK,KAAKI,CAAC,EAAO,IAAL,IAAQA,EAAE,mBAAmB,CAAC,EAAE,GAAG,KAAK,CAAC,GAAM,EAAEC,EAAEH,CAAC,GAAR,EAAU,CAAC,IAAIF,EAAEM,EAAEJ,CAAC,EAAE,IAAI,OAAOI,EAAEJ,CAAC,EAAEF,KAAK,KAAK,oBAAoBE,EAAEW,EAAC,EAAE,OAAOR,EAAEH,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAAC,KAAK,YAAYY,GAAE,KAAK,UAAU,CAAC,CAAC,aAAad,EAAE,CAAC,OAAO,KAAK,YAAY,KAAK,WAAWA,CAAC,GAAG,MAAM,CAAC,YAAYA,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,aAAaA,EAAEA,KAAK,KAAK,WAAW,OAAO,KAAK,KAAK,UAAU,EAAE,OAAO,EAAE,CAAC,oBAAoBA,EAAEC,EAAE,CAAC,GAAG,CAAC,KAAK,WAAW,OAAO,MAAMC,EAAE,KAAK,WAAWF,CAAC,EAAE,GAAG,CAACE,EAAE,OAAO,MAAMC,EAAED,EAAE,QAAQD,CAAC,EAAOE,IAAL,KAAS,KAAK,kBAAkBH,KAAK,KAAK,kBAAkBE,EAAEC,CAAC,EAAEU,GAAE,EAAE,KAAK,iBAAiBb,CAAC,IAAIE,EAAE,OAAOC,EAAE,CAAC,EAAMD,EAAE,SAAN,GAAc,OAAO,KAAK,WAAWF,CAAC,GAAG,CAAC,EAAEgB,GAAE,SAAS,SAASC,GAAEjB,EAAEC,EAAEC,EAAEC,EAAEC,EAAE,CAAC,GAAGA,EAAE,CAAC,MAAMA,EAAEF,EAAEA,EAAE,UAAU,CAACF,EAAE,oBAAoBC,EAAEC,CAAC,EAAEE,EAAE,MAAS,KAAK,SAAS,CAAC,CAAC,CAA8B,MAAMC,EAAE,CAAC,OAAOL,EAAE,KAAKC,EAAE,SAASC,CAAC,EAAE,OAAOF,EAAE,iBAAiBC,EAAEC,CAAC,EAAEG,CAAC,CAAC,SAASa,GAAElB,EAAEC,EAAEC,EAAEC,EAAE,CAAC,OAAOc,GAAEjB,EAAEC,EAAEC,EAAEC,EAAE,EAAE,CAAC,CAAC,SAASgB,GAAEnB,EAAE,CAACA,GAAGA,EAAE,SAASA,EAAE,OAAO,oBAAoBA,EAAE,KAAKA,EAAE,QAAQ,EAAEc,GAAEd,CAAC,EAAE,CAA05I,IAAIoB,GAAE,cAAcL,EAAC,CAAC,aAAa,CAAC,MAAO,EAAC,KAAK,GAAG,KAAK,WAAW,KAAK,KAAK,KAAK,aAAa,KAAK,GAAG,KAAK,WAAW,KAAK,UAAU,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,UAAU,KAAK,cAAcC,EAAC,CAAC,CAAC,aAAa,CAAC,OAAO,KAAK,SAAS,CAAC,WAAWhB,EAAEC,EAAE,CAAC,GAAG,MAAM,QAAQD,CAAC,EAAE,CAAC,MAAME,EAAEF,EAAE,OAAOG,EAAE,IAAI,MAAMD,CAAC,EAAE,QAAQE,EAAE,EAAEA,EAAEF,EAAE,EAAEE,EAAED,EAAEC,CAAC,EAAEa,GAAE,KAAKjB,EAAEI,CAAC,EAAEH,CAAC,EAAE,OAAOE,CAAC,CAAC,OAAOc,GAAE,KAAKjB,EAAEC,CAAC,CAAC,CAAC,aAAaD,EAAEC,EAAE,CAAC,IAAIC,EAAE,GAAG,MAAM,QAAQF,CAAC,EAAE,CAAC,MAAMG,EAAEH,EAAE,OAAOE,EAAE,IAAI,MAAMC,CAAC,EAAE,QAAQC,EAAE,EAAEA,EAAED,EAAE,EAAEC,EAAEF,EAAEE,CAAC,EAAEc,GAAE,KAAKlB,EAAEI,CAAC,EAAEH,CAAC,CAAC,MAAMC,EAAEgB,GAAE,KAAKlB,EAAEC,CAAC,EAAE,OAAOA,EAAE,OAAOC,EAAEA,CAAC,CAAC,WAAWF,EAAEC,EAAE,CAAC,MAAMC,EAAED,EAAE,OAAO,GAAGC,GAAG,SAASF,EAAE,CAAC,GAAG,MAAM,QAAQA,CAAC,EAAE,QAAQC,EAAE,EAAEC,EAAEF,EAAE,OAAOC,EAAEC,EAAE,EAAED,EAAEkB,GAAEnB,EAAEC,CAAC,CAAC,OAAOkB,GAAEnB,CAAC,CAAC,GAAEE,CAAC,UAAU,MAAM,QAAQF,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAEA,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,KAAK,oBAAoBA,EAAE,CAAC,EAAEC,CAAC,OAAO,KAAK,oBAAoBD,EAAEC,CAAC,CAAC,CAAC,EAAE,MAAMoB,WAAUT,EAAC,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,EAAE,KAAK,SAAS,CAAC,CAAC,CAAoC,IAAI,cAAcQ,EAAC,CAAC,YAAYpB,EAAE,CAAC,QAAQ,KAAK,SAAS,KAAK,OAAO,OAAO,EAAES,EAAC,GAAG,KAAK,QAAQ,KAAcT,IAAT,QAAY,KAAK,cAAcA,CAAC,CAAC,CAAC,IAAIA,EAAE,CAAC,IAAIC,EAAE,OAAO,KAAK,SAAS,KAAK,QAAQ,eAAeD,CAAC,IAAIC,EAAE,KAAK,QAAQD,CAAC,GAAGC,CAAC,CAAC,SAAS,CAAC,OAAO,KAAK,SAAS,OAAO,KAAK,KAAK,OAAO,GAAG,CAAE,CAAA,CAAC,eAAe,CAAC,OAAO,KAAK,SAAS,OAAO,OAAO,CAAE,EAAC,KAAK,OAAO,GAAG,CAAE,CAAA,CAAC,uBAAuB,CAAC,OAAO,KAAK,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,KAAK,OAAO,CAAC,OAAOD,EAAEC,EAAE,CAAC,IAAIC,EAAEA,EAAE,UAAUF,CAAC,GAAG,KAAK,YAAYE,CAAC,GAAG,KAAK,cAAc,IAAImB,GAAEnB,EAAEF,EAAEC,CAAC,CAAC,EAAEC,EAAE,iBAAiB,KAAK,YAAYA,CAAC,GAAG,KAAK,cAAc,IAAImB,GAAEnB,EAAEF,EAAEC,CAAC,CAAC,CAAC,CAAC,kBAAkBD,EAAEC,EAAE,CAAC,KAAK,iBAAiB,UAAUD,CAAC,GAAGC,CAAC,CAAC,CAAC,qBAAqBD,EAAEC,EAAE,CAAC,KAAK,oBAAoB,UAAUD,CAAC,GAAGC,CAAC,CAAC,CAAC,IAAID,EAAEC,EAAEC,EAAE,CAAC,MAAMC,EAAE,KAAK,UAAU,KAAK,QAAQ,IAAI,GAAGD,EAAEC,EAAEH,CAAC,EAAEC,MAAM,CAAC,MAAMC,EAAEC,EAAEH,CAAC,EAAEG,EAAEH,CAAC,EAAEC,EAAEC,IAAID,GAAG,KAAK,OAAOD,EAAEE,CAAC,CAAC,CAAC,CAAC,cAAcF,EAAEC,EAAE,CAAC,UAAUC,KAAKF,EAAE,KAAK,IAAIE,EAAEF,EAAEE,CAAC,EAAED,CAAC,CAAC,CAAC,gBAAgBD,EAAE,CAACA,EAAE,SAAS,OAAO,OAAO,KAAK,UAAU,KAAK,QAAQ,CAAE,GAAEA,EAAE,OAAO,CAAC,CAAC,MAAMA,EAAEC,EAAE,CAAC,GAAG,KAAK,SAASD,KAAK,KAAK,QAAQ,CAAC,MAAME,EAAE,KAAK,QAAQF,CAAC,EAAE,OAAO,KAAK,QAAQA,CAAC,EAAE,SAASA,EAAE,CAAC,IAAIC,EAAE,IAAIA,KAAKD,EAAE,MAAM,GAAG,MAAM,CAACC,CAAC,EAAE,KAAK,OAAO,IAAI,KAAK,QAAQ,MAAMA,GAAG,KAAK,OAAOD,EAAEE,CAAC,CAAC,CAAC,CAAC,EAAwkR,MAAMoB,GAAG,CAAC,QAAQ,SAAS,EAAE,KAAK,IAAI,QAAQ,EAAE,KAAK,GAAG,QAAQ,IAAI,GAAG,MAAM,EAAE,EAAE,QAAQ,KAAK,IAAI,EAAE,IAAIC,GAAG,KAAK,CAAC,YAAYvB,EAAE,CAAC,KAAK,MAAMA,EAAE,KAAK,KAAK,OAAOA,EAAE,MAAM,KAAK,QAAiBA,EAAE,SAAX,OAAkBA,EAAE,OAAO,KAAK,KAAK,aAAsBA,EAAE,cAAX,OAAuBA,EAAE,YAAY,KAAK,KAAK,iBAA0BA,EAAE,kBAAX,OAA2BA,EAAE,gBAAgB,MAAM,KAAK,QAAiBA,EAAE,SAAX,QAAmBA,EAAE,OAAO,KAAK,UAAU,EAAE,CAAC,KAAK,SAAS,CAAC,KAAK,SAAS,KAAK,wBAAwBA,EAAE,mBAAmB,KAAK,iBAAiB,KAAK,KAAK,eAAeA,EAAE,aAAa,CAAC,UAAU,CAAC,OAAO,KAAK,SAAS,CAAC,SAAS,CAAC,OAAO,KAAK,KAAK,CAAC,WAAW,CAAC,OAAO,KAAK,OAAO,CAAC,UAAU,CAAC,OAAO,KAAK,MAAM,CAAC,kBAAkB,CAAC,OAAO,KAAK,gBAAgBsB,GAAG,KAAK,MAAM,CAAC,CAAC,gBAAgB,CAAC,OAAO,KAAK,YAAY,CAAC,oBAAoB,CAAC,OAAO,KAAK,gBAAgB,CAAC,UAAU,CAAC,OAAO,KAAK,OAAO,CAAC,UAAUtB,EAAE,CAAC,KAAK,QAAQA,EAAE,KAAK,UAAU,EAAE,CAACA,GAAG,CAAC,KAAK,QAAQ,CAAC,oBAAoB,CAAC,OAAO,KAAK,gBAAgB,CAAC,mBAAmBA,EAAE,CAAC,KAAK,iBAAiBA,CAAC,CAAC,UAAUA,EAAE,CAAC,KAAK,QAAQA,EAAE,KAAK,UAAU,EAAE,CAAC,KAAK,SAAS,CAACA,EAAE,CAAC,eAAeA,EAAE,CAAC,KAAK,aAAaA,CAAC,CAAC,sBAAsBA,EAAE,CAAC,KAAK,wBAAwBA,CAAC,CAAC,wBAAwB,CAAC,OAAO,KAAK,uBAAuB,CAAC,EAAE,MAAMwB,EAAG,QAAQC,EAAG,KAAK,GAAGD,EAAGE,GAAG,CAAC,CAACD,EAAG,CAACA,EAAGA,EAAGA,CAAE,EAAEE,GAAG,CAAC,KAAK,IAAI,IAAI,EAAE,EAAEC,EAAGJ,EAAG,KAAK,IAAI,KAAK,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,MAAMK,UAAWN,EAAE,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,IAAI,OAAOG,GAAG,OAAO,GAAG,YAAYC,GAAG,mBAAmB,SAAS3B,EAAEC,EAAE,CAAC,OAAOD,EAAE,KAAK,KAAKC,EAAE,CAAC,EAAEuB,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAMM,GAAG,CAAC,IAAID,EAAG,WAAW,EAAE,IAAIA,EAAG,aAAa,EAAE,IAAIA,EAAG,aAAa,EAAE,IAAIA,EAAG,aAAa,EAAE,IAAIA,EAAG,4CAA4C,EAAE,IAAIA,EAAG,8CAA8C,CAAC,EAAEE,GAAG,CAAC,KAAK,IAAI,IAAI,EAAE,EAAEC,GAAG,QAAQ,KAAK,GAAG,IAAI,MAAMC,UAAWV,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,UAAU,OAAOQ,GAAG,gBAAgB,EAAE,OAAO,GAAG,cAAcC,GAAG,YAAYD,EAAE,CAAC,CAAC,CAAC,CAAC,MAAMG,GAAG,CAAC,IAAID,EAAG,QAAQ,EAAE,IAAIA,EAAG,YAAY,KAAK,EAAE,IAAIA,EAAG,+BAA+B,EAAE,IAAIA,EAAG,0BAA0B,EAAE,IAAIA,EAAG,8CAA8C,EAAE,IAAIA,EAAG,+CAA+C,KAAK,EAAE,IAAIA,EAAG,6CAA6C,KAAK,CAAC,EAAK,IAAOE,GAAG,CAAA,EAAG,SAASC,EAAGpC,EAAEC,EAAEC,EAAE,CAAC,MAAMC,EAAEH,EAAE,UAAUI,EAAEH,EAAE,QAAO,EAAGE,KAAKgC,KAAKA,GAAGhC,CAAC,EAAE,CAAA,GAAIgC,GAAGhC,CAAC,EAAEC,CAAC,EAAEF,CAAC,CAAC,SAASmC,GAAGrC,EAAEC,EAAE,CAAC,GAAYA,IAAT,OAAW,QAAQC,EAAE,EAAEC,EAAEH,EAAE,OAAOE,EAAEC,EAAE,EAAED,EAAED,EAAEC,CAAC,EAAEF,EAAEE,CAAC,OAAOD,EAAED,EAAE,MAAK,EAAG,OAAOC,CAAC,CAA8F,SAASqC,GAAGtC,EAAE,CAAyBA,EAAE,QAAW,EAAEoC,EAAGpC,EAAEA,EAAEqC,EAAE,CAAC,CAAwI,SAASE,GAAGvC,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQsC,EAAE,CAAC,GAAEtC,CAAC,EAAEA,EAAE,QAAQ,SAASC,EAAE,CAACD,EAAE,QAAQ,SAASA,EAAE,CAACC,IAAID,GAAGoC,EAAGnC,EAAED,EAAEqC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAiO,IAAIG,GAAGC,GAAGC,GAAGC,EAAGJ,GAAGT,EAAE,EAAES,GAAGL,EAAE,EAAEM,GAAGV,GAAGW,GAAG,SAASzC,EAAEC,EAAEC,EAAE,CAAC,MAAMC,EAAEH,EAAE,OAAOE,EAAEA,EAAE,EAAEA,EAAE,EAAWD,IAAT,SAAaA,EAAEC,EAAE,EAAEF,EAAE,MAAO,EAAC,IAAI,MAAMG,CAAC,GAAG,QAAQC,EAAE,EAAEA,EAAED,EAAEC,GAAGF,EAAE,CAACD,EAAEG,CAAC,EAAEqB,EAAGzB,EAAEI,CAAC,EAAE,IAAI,IAAIF,EAAEsB,EAAG,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,CAACxB,EAAEI,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,EAAEF,EAAE0B,EAAG1B,EAAE0B,EAAG1B,EAAE,CAAC0B,IAAK1B,EAAE,CAAC0B,GAAI3B,EAAEG,EAAE,CAAC,EAAEF,CAAC,CAAC,OAAOD,CAAC,EAAEyC,GAAG,SAAS1C,EAAEC,EAAEC,EAAE,CAAC,MAAMC,EAAEH,EAAE,OAAOE,EAAEA,EAAE,EAAEA,EAAE,EAAWD,IAAT,SAAaA,EAAEC,EAAE,EAAEF,EAAE,MAAK,EAAG,IAAI,MAAMG,CAAC,GAAG,QAAQC,EAAE,EAAEA,EAAED,EAAEC,GAAGF,EAAED,EAAEG,CAAC,EAAE,IAAIJ,EAAEI,CAAC,EAAEqB,EAAGxB,EAAEG,EAAE,CAAC,EAAE,IAAI,KAAK,KAAK,KAAK,IAAIJ,EAAEI,EAAE,CAAC,EAAEoB,CAAE,CAAC,EAAE,KAAK,GAAG,GAAG,OAAOvB,CAAC,EAAEiC,GAAG,QAAQ,SAASlC,EAAE,CAACwC,GAAG,QAAQ,SAASvC,EAAE,CAACmC,EAAGpC,EAAEC,EAAEwC,EAAE,EAAEL,EAAGnC,EAAED,EAAE0C,EAAE,CAAC,CAAC,CAAC,CAAC,EAA6lN,SAAS1C,EAAE,CAACA,EAAE,OAAO,SAASA,EAAE,YAAY,cAAcA,EAAE,OAAO,QAAQ,EAAE2C,IAAKA,EAAG,GAAG,EAAE,MAAMC,GAAG,WAAWC,EAAG,WAAWC,GAAG,eAAe,SAASC,GAAG/C,EAAE,CAAC,MAAO,GAAQA,GAAa,OAAOA,GAAjB,UAA2BA,IAAP,MAAU,CAAC,MAAM,QAAQA,CAAC,EAAE,CAAC,SAASgD,GAAGhD,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,OAAgB,OAAO,GAAjB,UAAoB,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE,QAAS,CAAA,CAAC,EAAEA,CAAC,EAAE,MAAM,IAAI,MAAM,kDAAkD,EAAE,MAAM,EAAE,CAAC,IAAIiD,GAAI,SAASjD,EAAE,CAACA,EAAE,QAAQ,UAAUA,EAAE,OAAO,SAASA,EAAE,OAAO,SAASA,EAAE,OAAO,QAAQ,GAAEiD,IAAKA,EAAG,CAAE,EAAC,EAAE,MAAMC,CAAE,CAAC,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC,MAAM,IAAI,MAAM,wCAAwC,CAAC,CAAC,IAAI,QAAQ,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,OAAO,EAAE,CAAC,GAAa,OAAO,GAAjB,SAAmB,MAAM,IAAI,MAAM,2BAA2B,EAAE,KAAK,cAAc,GAAG,SAAS,EAAE,KAAK,QAAQ,CAAC,CAAC,kBAAkB,EAAE,CAAE,CAAA,YAAYjD,EAAE,CAAC,KAAK,OAAO,OAAO,KAAK,QAAQ,OAAO,KAAK,UAAU,CAAE,EAAC,KAAK,SAAS,OAAO,KAAK,gBAAgB,OAAO,KAAK,oBAAoB,OAAO,KAAK,cAAc,OAAO,KAAK,MAAM,OAAO,KAAK,qBAAqB,OAAO,KAAK,UAAU,OAAO,KAAK,QAAQ,OAAO,KAAK,UAAU,OAAO,KAAK,WAAW,OAAO,KAAK,KAAKgD,EAAG,QAAQ,KAAK,KAAK,OAAO,KAAK,OAAO,eAAe,KAAK,QAAQhD,GAAGA,EAAE,OAAOD,EAAE,CAAE,EAACC,EAAE,MAAM,EAAE,CAAE,EAAC,KAAK,gBAAgBA,GAAGA,EAAE,iBAAiB,GAAG,KAAK,SAASA,GAAGA,EAAE,WAAW,KAAK,WAAWA,GAAGA,EAAE,YAAY,cAAc,CAAC,YAAY,CAAC,GAAe,KAAK,SAAjB,UAAwB,MAAM,IAAI,MAAM,+CAA+C,EAAE,KAAK,OAAO,SAAS,CAAC,YAAY,CAAC,GAAe,KAAK,SAAjB,WAAwC,KAAK,SAApB,cAAwC,KAAK,SAAjB,WAAuC,KAAK,SAAnB,YAA0B,MAAM,IAAI,MAAM,+CAA+C,EAAE,KAAK,OAAO,UAAU,KAAK,qBAAqB,EAAE,CAAC,CAAC,YAAY,CAAC,GAAe,KAAK,SAAjB,UAAwB,MAAM,IAAI,MAAM,oCAAoC,EAAE,KAAK,OAAO,UAAU,KAAK,qBAAqB,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,GAAoB,KAAK,SAAtB,eAA6B,MAAM,IAAI,MAAM,8CAA8C,EAAE,KAAK,OAAO,aAAa,KAAK,MAAM,EAAE,MAAM,KAAK,MAAM,iBAAiB,EAAE,QAAQ,EAAE,KAAK,qBAAqB,EAAE,qBAAqB,KAAK,QAAQ,EAAE,QAAQ,KAAK,UAAU,EAAE,UAAU,KAAK,SAAS,EAAE,SAAS,KAAK,WAAW,EAAE,WAAW,KAAK,UAAU,EAAE,UAAU,KAAK,cAAc,EAAE,SAAS,KAAK,SAAS,EAAE,SAAS,KAAK,oBAAoB,EAAE,oBAAoB,KAAK,kBAAkB,CAAC,KAAK,EAAE,KAAK,MAAM,KAAK,MAAM,QAAQ,KAAK,QAAQ,UAAU,KAAK,UAAU,gBAAgB,KAAK,gBAAgB,oBAAoB,EAAE,oBAAoB,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,GAAoB,KAAK,SAAtB,eAA6B,MAAM,IAAI,MAAM,yBAAyB,EAAE,MAAM,EAAE,SAASD,EAAEC,EAAE,CAAC,IAAIC,EAAE,GAAG6C,GAAG/C,CAAC,EAAE,GAASA,EAAE,IAAR,KAAWE,EAAE,4BAAsC,OAAOF,EAAE,IAAnB,UAAiC,OAAOA,EAAE,IAAnB,SAAsBE,EAAE,+DAA+DD,EAAED,EAAE,EAAE,EAAE,GAAG+C,GAAG/C,EAAE,QAAQ,EAAE,GAAG+C,GAAG/C,EAAE,UAAU,EAAE,GAAa,OAAOA,EAAE,SAAS,MAA5B,UAAkC,CAAC,UAAU,aAAa,OAAO,EAAE,SAASA,EAAE,SAAS,IAAI,EAAE,GAAG,MAAM,QAAQA,EAAE,SAAS,WAAW,GAAG,GAAG,CAACA,EAAE,WAAW,MAAgB,OAAOA,EAAE,WAAW,MAA9B,SAAmC,MAAM,IAAI,MAAM,6CAA6C,OAAOE,EAAE,2CAA2CA,EAAE,mDAAmDA,EAAE,iCAAiCA,EAAE,+BAA+BA,EAAE,6DAA6DA,EAAE,wBAAwB,GAAGA,EAAE,MAAM,IAAI,MAAMA,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,MAAM,WAAW,SAAS,EAAE,OAAO,KAAK,SAAS,KAAK,SAAS,EAAE,CAAC,QAAQ,KAAK,QAAQ,UAAU,KAAK,UAAU,oBAAoB,KAAK,oBAAoB,WAAWyC,EAAG,WAAW,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,EAAE,CAAE,CAAA,WAAW,EAAE,CAAE,CAAA,SAAS,EAAE,CAAE,CAAA,UAAU,EAAE,CAAE,CAAA,QAAQ,EAAE,CAAA,CAAE,YAAY,EAAE,CAAA,CAAE,QAAQ,EAAE,CAAA,CAAE,YAAY,EAAE,EAAE,CAAA,CAAE,OAAO,EAAE,EAAE,CAAA,CAAE,UAAU,EAAE,EAAE,CAAA,CAAE,wBAAwB,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,uBAAuB,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,EAAE,EAAE,EAAE,CAAC,OAAgB,IAAT,OAAW,EAAc,OAAO,GAAnB,WAAqB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAMQ,WAAWD,CAAE,CAAC,eAAe,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,KAAKD,EAAG,MAAM,CAAC,CAAC,SAASG,EAAGpD,EAAEC,EAAE,CAAC,MAAMC,EAAEF,GAAGA,EAAE,KAAK,GAAG,IAAIG,EAAED,EAAEF,EAAE,CAAC,CAAC,EAAEI,EAAEF,EAAEF,EAAE,CAAC,CAAC,EAAEK,EAAEH,EAAED,EAAE,CAAC,CAAC,EAAEK,EAAED,EAAEF,EAAE,EAAED,EAAED,EAAE,CAAC,CAAC,EAAEG,EAAE,EAAE,KAAK,IAAIE,EAAE,CAAC,EAAE,KAAK,IAAIA,EAAE,CAAC,EAAE,KAAK,IAAIH,CAAC,EAAE,KAAK,IAAIE,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE,MAAO,GAAE,KAAK,MAAM,KAAK,KAAK,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,MAAMgD,GAAG,YAAU,SAASC,EAAGtD,EAAE,CAAC,OAAOA,EAAE,IAAI,KAAK,GAAG,GAAG,CAAC,SAASuD,GAAGvD,EAAE,CAAC,OAAOA,GAAGqD,GAAG,IAAI,CAAC,SAASG,EAAGxD,EAAE,CAAC,OAAOA,GAAG,EAAE,KAAK,IAAI,IAAI,KAAK,EAAE,CAAC,MAAMyD,GAAG,kBAAkBC,GAAG,oBAAoBC,EAAG,QAAQC,EAAG,CAAC5D,EAAEC,KAAK,CAAC,EAAMD,IAAJ,EAAM,EAAEA,EAAE0D,GAAGC,EAAG,EAAM1D,IAAJ,EAAM,EAAE,KAAK,IAAI,KAAK,IAAI,KAAK,GAAG,EAAEA,EAAEyD,GAAG,CAAC,CAAC,EAAEC,CAAE,GAAGE,EAAG,CAAC7D,EAAEC,KAAK,CAAC,IAAQD,IAAJ,EAAM,EAAEyD,IAAIzD,EAAE2D,GAAI,IAAQ1D,IAAJ,EAAM,GAAG,EAAE,KAAK,KAAK,KAAK,IAAIA,EAAE0D,CAAE,CAAC,EAAE,KAAK,GAAG,GAAGF,EAAE,GAAG,SAASK,GAAG9D,EAAEC,EAAEC,EAAE,CAAC,MAAMC,EAAEmD,EAAGtD,EAAE,CAAC,CAAC,EAAEI,EAAEkD,EAAGtD,EAAE,CAAC,CAAC,EAAEK,EAAEiD,EAAGpD,CAAC,EAAEI,EAAEiD,GAAGtD,CAAC,EAAE,EAAE,KAAK,KAAK,KAAK,IAAIG,CAAC,EAAE,KAAK,IAAIE,CAAC,EAAE,KAAK,IAAIF,CAAC,EAAE,KAAK,IAAIE,CAAC,EAAE,KAAK,IAAID,CAAC,CAAC,EAAE,MAAM,CAACmD,EAAGrD,EAAE,KAAK,MAAM,KAAK,IAAIE,CAAC,EAAE,KAAK,IAAIC,CAAC,EAAE,KAAK,IAAIF,CAAC,EAAE,KAAK,IAAIE,CAAC,EAAE,KAAK,IAAIF,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,EAAEoD,EAAG,CAAC,CAAC,CAAC,CAAC,SAASO,GAAG/D,EAAE,CAAC,KAAK,CAAC,OAAOE,EAAE,iBAAiBC,EAAE,oBAAoBC,CAAC,EAAEJ,EAAEK,EAAEL,EAAE,MAAMA,EAAE,MAAM,GAAG,EAAE,GAAG,QAAQA,EAAE,EAAEA,EAAEK,EAAEL,IAAI,CAAC,MAAM,EAAE8D,GAAG5D,EAAEC,EAAE,KAAKH,EAAEK,CAAC,EAAE,EAAE,KAAK,CAACJ,EAAE,EAAE,CAAC,EAAEG,CAAC,EAAEH,EAAE,EAAE,CAAC,EAAEG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,UAAU,SAAS,CAAC,KAAK,UAAU,YAAY,CAAC,CAAC,CAAC,EAAE,WAAW,CAAA,CAAE,CAAC,CAAC,SAAS4D,GAAGhE,EAAE,CAAC,MAAMC,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAIC,EAAE,GAAeF,EAAE,SAAS,OAAvB,UAA4BE,EAAEF,EAAE,SAAS,gBAAgB,CAAC,GAAkBA,EAAE,SAAS,OAA1B,aAA+B,MAAM,IAAI,MAAM,uDAAuD,EAAEE,EAAE,CAACF,EAAE,SAAS,WAAW,CAAC,CAAC,MAAMG,EAAE,CAAA,EAAG,QAAQH,EAAE,EAAEA,EAAEE,EAAE,OAAOF,IAAI,QAAQC,EAAE,EAAEA,EAAEC,EAAEF,CAAC,EAAE,OAAO,EAAEC,IAAI,QAAQE,EAAE,EAAEA,EAAED,EAAE,OAAOC,IAAI,QAAQC,EAAE,EAAEA,EAAEF,EAAEC,CAAC,EAAE,OAAO,EAAEC,IAAIC,EAAEL,EAAEC,EAAEE,EAAEC,CAAC,EAAE,OAAOD,EAAE,OAAO,EAAE,SAASC,EAAEJ,EAAE,CAAC,OAAOA,EAAE,EAAEC,EAAE,SAASD,EAAE,EAAEC,EAAE,OAAO,CAAC,SAASI,EAAEL,EAAEC,EAAEI,EAAEC,EAAE,CAAC,MAAMC,EAAEL,EAAEF,CAAC,EAAEC,CAAC,EAAEO,EAAEN,EAAEF,CAAC,EAAEC,EAAE,CAAC,EAAEgE,EAAE/D,EAAEG,CAAC,EAAEC,CAAC,EAAEG,EAAEP,EAAEG,CAAC,EAAEC,EAAE,CAAC,EAAE4D,EAAE,SAASlE,EAAEC,EAAEC,EAAEC,EAAE,CAAC,GAAGgE,GAAGnE,EAAEE,CAAC,GAAGiE,GAAGnE,EAAEG,CAAC,GAAGgE,GAAGlE,EAAEC,CAAC,GAAGiE,GAAGhE,EAAED,CAAC,EAAE,OAAO,KAAK,MAAME,EAAEJ,EAAE,CAAC,EAAEK,EAAEL,EAAE,CAAC,EAAEM,EAAEL,EAAE,CAAC,EAAEM,EAAEN,EAAE,CAAC,EAAEO,GAAEN,EAAE,CAAC,EAAE+D,GAAE/D,EAAE,CAAC,EAAEO,GAAEN,EAAE,CAAC,EAAE+D,GAAE/D,EAAE,CAAC,EAAEiE,IAAGhE,EAAEE,IAAI2D,GAAEC,KAAI7D,EAAEE,IAAIC,GAAEC,IAAG,OAAW2D,KAAJ,EAAM,KAAK,GAAGhE,EAAEG,EAAEF,EAAEC,IAAIE,GAAEC,KAAIL,EAAEE,IAAIE,GAAE0D,GAAED,GAAExD,KAAI2D,KAAIhE,EAAEG,EAAEF,EAAEC,IAAI2D,GAAEC,KAAI7D,EAAEE,IAAIC,GAAE0D,GAAED,GAAExD,KAAI2D,EAAC,CAAC,EAAE7D,EAAEC,EAAEyD,EAAExD,CAAC,EAAE,GAAUyD,IAAP,KAAS,OAAO,IAAIE,EAAEC,EAAED,EAAE5D,EAAE,CAAC,IAAID,EAAE,CAAC,GAAG2D,EAAE,CAAC,EAAE3D,EAAE,CAAC,IAAIC,EAAE,CAAC,EAAED,EAAE,CAAC,IAAI2D,EAAE,CAAC,EAAE3D,EAAE,CAAC,IAAIC,EAAE,CAAC,EAAED,EAAE,CAAC,GAAG8D,EAAE5D,EAAE,CAAC,IAAIwD,EAAE,CAAC,GAAGC,EAAE,CAAC,EAAED,EAAE,CAAC,IAAIxD,EAAE,CAAC,EAAEwD,EAAE,CAAC,IAAIC,EAAE,CAAC,EAAED,EAAE,CAAC,IAAIxD,EAAE,CAAC,EAAEwD,EAAE,CAAC,GAAG7D,EAAEgE,CAAC,GAAGhE,EAAEiE,CAAC,IAAIH,EAAE,SAAU,EAAC/D,EAAE,KAAK+D,CAAC,EAAE,CAAC,CAAC,SAASC,GAAGnE,EAAEC,EAAE,CAAC,OAAOD,EAAE,CAAC,IAAIC,EAAE,CAAC,GAAGD,EAAE,CAAC,IAAIC,EAAE,CAAC,CAAC,CAAC,SAASqE,GAAGtE,EAAEC,EAAE,CAAC,OAAWD,EAAE,SAAN,GAAwB,OAAOA,EAAE,CAAC,GAApB,UAAiC,OAAOA,EAAE,CAAC,GAApB,UAAkCA,EAAE,CAAC,IAAd,KAA4BA,EAAE,CAAC,IAAd,MAAkBG,EAAEH,EAAE,CAAC,IAAI,MAAMG,GAAG,MAAMD,EAAEF,EAAE,CAAC,IAAI,KAAKE,GAAG,IAAIqE,GAAGvE,EAAE,CAAC,CAAC,GAAGC,GAAGsE,GAAGvE,EAAE,CAAC,CAAC,GAAGC,EAAE,IAAIC,EAAEC,CAAC,CAAC,SAASoE,GAAGvE,EAAE,CAAC,IAAIC,EAAE,EAAEC,EAAE,EAAE,KAAK,KAAK,MAAMF,EAAEC,CAAC,EAAEA,IAAID,GAAGC,GAAG,GAAGC,IAAI,OAAOA,CAAC,CAAC,SAASsE,GAAGxE,EAAEC,EAAE,CAAC,OAAkBD,EAAE,SAAS,OAAvB,WAAiCA,EAAE,SAAS,YAAY,SAA3B,GAAmCA,EAAE,SAAS,YAAY,CAAC,EAAE,QAAQ,GAAGA,EAAE,SAAS,YAAY,CAAC,EAAE,MAAMA,GAAGsE,GAAGtE,EAAEC,CAAC,CAAC,IAAIC,EAAEF,EAAE,SAAS,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,KAAKG,EAAEH,EAAE,SAAS,YAAY,CAAC,EAAEA,EAAE,SAAS,YAAY,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,GAAGE,EAAE,CAAC,IAAIC,EAAE,CAAC,EAAE,IAAID,EAAEC,CAAC,CAAC,SAASsE,GAAGzE,EAAEC,EAAE,CAAC,OAAOuE,GAAGxE,EAAEC,CAAC,GAAG,CAAC+D,GAAGhE,CAAC,CAAC,CAAC,MAAM0E,WAAWxB,CAAE,CAAC,YAAYjD,EAAE,CAAC,IAAIC,EAAE,MAAMD,CAAC,EAAE,KAAK,KAAK,SAAS,KAAK,OAAO,OAAO,KAAK,WAAW,EAAE,KAAK,gBAAgB,OAAO,KAAK,UAAU,OAAO,KAAK,QAAQ,OAAO,KAAK,yBAAyB,KAAK,MAAME,EAAE,CAAC,MAAM,WAAW,EAAE,GAAG,KAAK,QAAQF,GAAGA,EAAE,QAAQD,EAAE,CAAE,EAACG,EAAEF,EAAE,OAAO,EAAEE,GAAgBF,GAAN,KAAQ,OAAOA,EAAE,aAAzB,KAAoC,KAAK,UAAU,CAAC,OAAO,KAAK,OAAO,IAAI,MAAM,CAAC,MAAMC,EAAE,CAAC,OAAO,SAAS,OAAO,OAAO,EAAE,KAAK,UAAUD,GAAGA,EAAE,UAAUD,EAAE,CAAA,EAAGE,EAAED,EAAE,SAAS,EAAEC,CAAC,CAAC,KAAK,0BAAgCA,EAAQD,GAAN,KAAQ,OAAOA,EAAE,2BAA1B,KAAoDC,EAAE,KAAK,KAAK,SAAeD,GAAN,KAAQ,OAAOA,EAAE,UAAU,CAAC,OAAO,CAAC,GAAY,KAAK,kBAAd,OAA8B,OAAO,MAAM,EAAE,KAAK,gBAAgB,GAAG,KAAK,UAAU,EAAE,CAAC,MAAM,EAAE,KAAK,MAAM,gBAAgB,CAAC,EAAE,GAAG,CAAC,KAAK,SAAS,CAAC,KAAK,UAAU,GAAG,EAAE,SAAS,EAAE,WAAW,CAAE,CAAA,EAAE,CAAC,QAAQ,KAAK,QAAQ,UAAU,KAAK,UAAU,oBAAoB,KAAK,oBAAoB,WAAW0C,EAAG,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,OAAO,OAAO,KAAK,gBAAgB,OAAO,KAAK,WAAW,EAAc,KAAK,QAAjB,WAAwB,KAAK,WAAU,EAAG,KAAK,SAAS,EAAE,CAAC,KAAK,KAAK,KAAK,OAAO,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,WAAY,EAAC,KAAK,UAAU,KAAK,QAAQ,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,QAAS,EAAC,KAAK,WAAY,EAAC,KAAK,UAAU,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAO,KAAK,aAAT,EAAoB,CAAC,KAAK,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAEoB,GAAG,CAAC,OAAO,KAAK,OAAO,iBAAiB,KAAK,yBAAyB,oBAAoB,KAAK,mBAAmB,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,MAAM,OAAO,CAAC,CAAC,SAAS,EAAE,SAAS,WAAW,CAAC,KAAK,KAAK,KAAK,iBAAiB,KAAK,wBAAwB,CAAC,CAAC,CAAC,EAAE,KAAK,gBAAgB,EAAE,KAAK,aAAa,KAAK,YAAY,MAAU,KAAK,aAAT,GAAqB,KAAK,QAAiB,KAAK,kBAAd,QAA+B,KAAK,aAAa,CAAC,EAAE,KAAK,MAAO,CAAA,CAAC,YAAY,EAAE,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC,WAAW,CAAE,CAAA,QAAQ,EAAE,CAAC,EAAE,MAAM,KAAK,UAAU,OAAO,KAAK,QAAS,EAAC,EAAE,MAAM,KAAK,UAAU,QAAQ,KAAK,MAAK,CAAE,CAAC,aAAa,CAAE,CAAA,QAAQ,CAAE,CAAA,WAAW,CAAA,CAAE,SAAS,CAAC,MAAM,EAAE,KAAK,gBAAgB,KAAK,OAAO,OAAO,KAAK,gBAAgB,OAAO,KAAK,WAAW,EAAc,KAAK,QAAjB,WAAwB,KAAK,WAAU,EAAG,GAAG,CAAU,IAAT,QAAY,KAAK,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,MAAS,CAAE,CAAA,CAAC,aAAa9D,EAAE,CAAC,MAAMC,EAAEF,EAAE,CAAE,EAAC,CAAC,iBAAiB,UAAU,oBAAoB,UAAU,oBAAoB,EAAE,mBAAmB,GAAG,WAAW,UAAU,kBAAkB,UAAU,kBAAkB,EAAE,WAAW,EAAE,gBAAgB,UAAU,gBAAgB,EAAE,OAAO,CAAC,CAAC,EAAE,OAAkBC,EAAE,OAAd,WAAgCA,EAAE,SAAS,OAAvB,WAA6BA,EAAE,WAAW,OAAO,KAAK,OAAMC,EAAE,iBAAiB,KAAK,wBAAwB,KAAK,OAAO,UAAUA,EAAE,iBAAiBD,CAAC,EAAEC,EAAE,oBAAoB,KAAK,wBAAwB,KAAK,OAAO,aAAaA,EAAE,oBAAoBD,CAAC,EAAEC,EAAE,oBAAoB,KAAK,uBAAuB,KAAK,OAAO,aAAaA,EAAE,oBAAoBD,CAAC,EAAEC,EAAE,mBAAmB,KAAK,uBAAuB,KAAK,OAAO,YAAYA,EAAE,mBAAmBD,CAAC,EAAEC,EAAE,OAAO,IAAGA,CAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,gBAAgB,CAAC,GAAG,EAAE,WAAW,OAAO,KAAK,MAAMuE,GAAG,EAAE,KAAK,mBAAmB,CAAC,CAAC,aAAa,EAAE,CAAC,GAAO,KAAK,aAAT,GAAqB,KAAK,QAAQ,KAAK,gBAAgB,CAAC,MAAMvE,EAAEkD,EAAG,KAAK,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,IAAIjD,EAAE,GAAoB,KAAK,aAAtB,eAAiC,CAAC,MAAMC,EAAE,SAASJ,EAAEC,EAAE,CAAC,MAAMC,EAAE,IAAIkD,EAAGpD,EAAEC,CAAC,EAAE,GAAOC,IAAJ,EAAM,MAAO,GAAE,KAAK,CAAC,EAAEC,EAAE,EAAEC,CAAC,EAAEwD,EAAG5D,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,EAAE,CAAC,EAAEK,EAAE,EAAEC,CAAC,EAAEsD,EAAG3D,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,KAAK,KAAK,IAAII,EAAEF,EAAE,CAAC,EAAE,KAAK,IAAIG,EAAEF,EAAE,CAAC,CAAC,EAAEF,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAEC,EAAE,SAASH,EAAE,CAAC,KAAK,CAAC,OAAOE,EAAE,iBAAiBC,EAAE,oBAAoBC,CAAC,EAAEJ,EAAEK,EAAEL,EAAE,MAAMA,EAAE,MAAM,GAAGM,EAAE,IAAIH,EAAE,CAACI,EAAEC,CAAC,EAAEN,EAAE,CAAC,EAAE+D,EAAE,EAAExD,CAAC,EAAEmD,EAAGrD,EAAEC,CAAC,EAAE0D,EAAE,CAAA,EAAG,QAAQlE,EAAE,EAAEA,EAAEK,EAAEL,IAAI,CAAC,MAAME,EAAE,IAAIF,EAAEK,EAAE,KAAK,GAAG,IAAIF,EAAEG,EAAE,KAAK,IAAIJ,CAAC,EAAEK,EAAED,EAAE,KAAK,IAAIJ,CAAC,EAAE,CAACM,EAAE4D,CAAC,EAAE,CAACH,EAAE9D,EAAEM,EAAEF,CAAC,EAAE,CAAC,IAAI8D,EAAE,IAAIM,CAAC,EAAEd,EAAGrD,EAAE4D,CAAC,EAAEF,EAAE,KAAK,CAACjE,EAAEoE,EAAEjE,CAAC,EAAEH,EAAE0E,EAAEvE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO8D,EAAE,KAAKA,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,UAAU,SAAS,CAAC,KAAK,UAAU,YAAY,CAACA,CAAC,CAAC,EAAE,WAAW,CAAE,CAAA,CAAC,EAAE,CAAC,OAAO,KAAK,OAAO,iBAAiBhE,EAAEE,EAAE,oBAAoB,KAAK,mBAAmB,CAAC,CAAC,KAAK,CAAC,GAAa,KAAK,aAAf,QAA0B,MAAM,IAAI,MAAM,oBAAoB,EAAED,EAAE4D,GAAG,CAAC,OAAO,KAAK,OAAO,iBAAiB7D,EAAE,oBAAoB,KAAK,mBAAmB,CAAC,CAAC,CAAC,GAAG,KAAK,UAAU,CAAC,KAAK,SAAS,CAAC,KAAK,UAAU,GAAG,KAAK,gBAAgB,SAASC,EAAE,SAAS,WAAW,CAAC,iBAAiBD,CAAC,CAAC,EAAE,CAAC,QAAQ,KAAK,QAAQ,UAAU,KAAK,UAAU,oBAAoB,KAAK,oBAAoB,WAAWyC,EAAG,WAAW,CAAC,EAAE,OAAO,KAAK,MAAM,eAAe,CAAC,CAAC,GAAG,KAAK,gBAAgB,SAASxC,EAAE,QAAQ,CAAC,CAAC,EAAE,KAAK,MAAM,eAAe,CAAC,CAAC,GAAG,KAAK,gBAAgB,SAAS,mBAAmB,MAAMD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM0E,WAAW1B,CAAE,CAAC,YAAYjD,EAAE,CAAC,MAAMA,CAAC,EAAE,KAAK,KAAK,WAAW,KAAK,cAAc,GAAG,KAAK,UAAU,OAAO,KAAK,eAAe,OAAO,KAAK,YAAY,OAAO,KAAK,UAAU,OAAO,KAAK,QAAQ,OAAO,KAAK,uBAAuB,OAAO,MAAMC,EAAE,CAAC,MAAM,YAAY,MAAM,SAAS,EAAE,GAAG,KAAK,QAAQD,GAAGA,EAAE,QAAQD,EAAE,CAAA,EAAGE,EAAED,EAAE,OAAO,EAAEC,EAAE,KAAK,uBAAuBD,GAAGA,EAAE,wBAAwB,GAAG,KAAK,YAAYA,GAAGA,EAAE,aAAa,IAAiBA,GAAN,KAAQ,OAAOA,EAAE,aAAzB,KAAoC,KAAK,UAAU,CAAC,OAAO,KAAK,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,SAAS,OAAO,OAAO,EAAE,KAAK,UAAUA,GAAGA,EAAE,UAAUD,EAAE,CAAA,EAAG,EAAEC,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,SAAeA,GAAN,KAAQ,OAAOA,EAAE,UAAU,CAAC,OAAO,CAAC,GAAY,KAAK,YAAd,OAAwB,OAAO,MAAM,EAAE,KAAK,UAAU,GAAG,KAAK,UAAU,EAAE,CAAC,MAAM,EAAE,KAAK,MAAM,gBAAgB,CAAC,EAAE,GAAG,CAAC,KAAK,SAAS,CAAC,KAAK,UAAU,GAAG,EAAE,SAAS,EAAE,WAAW,CAAE,CAAA,EAAE,CAAC,QAAQ,KAAK,QAAQ,UAAU,KAAK,UAAU,oBAAoB,KAAK,oBAAoB,WAAW0C,EAAG,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,gBAAgB,KAAK,MAAM,OAAO,CAAC,KAAK,cAAc,CAAC,EAAE,KAAK,cAAc,GAAG,KAAK,UAAU,OAAO,KAAK,eAAe,OAAmB,KAAK,QAAjB,WAAwB,KAAK,WAAY,EAAC,KAAK,SAAS,EAAE,CAAC,KAAK,KAAK,KAAK,OAAO,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,WAAU,EAAG,KAAK,UAAU,KAAK,QAAQ,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,QAAO,EAAG,KAAK,aAAa,KAAK,UAAU,OAAO,CAAC,CAAC,YAAY,EAAE,CAAC,GAAY,KAAK,YAAd,QAA8B,KAAK,gBAAV,GAAwB,OAAO,MAAM,EAAE,KAAK,MAAM,gBAAgB,KAAK,SAAS,EAAExC,EAAE,EAAE,YAAY,CAAC,EAAE,OAAO,EAAE,CAACC,EAAEC,CAAC,EAAE,EAAE,YAAY,CAAC,EAAEF,CAAC,EAAE,CAAC,EAAEG,EAAE,EAAE,CAAC,EAAE,KAAK,QAAQF,EAAEC,CAAC,EAAE,EAAEH,EAAE,CAAC,EAAEI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,UAAU,CAAC,EAAE,CAAC2D,EAAExD,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,EAAEyD,EAAE,EAAE,CAAC,EAAE,KAAK,QAAQD,EAAExD,CAAC,EAAE,GAAGP,EAAE,CAAC,EAAEgE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,UAAU,CAAC,EAAE,KAAK,iBAAiB,GAAG,KAAK,UAAU,KAAK,QAAQ,KAAK,EAAE,KAAK,uBAAuB,YAAY,KAAK,UAAU,KAAK,QAAQ,KAAK,EAAE,GAAG,EAAE,KAAK,YAAY,OAAO,EAAE,YAAY,CAAC,EAAE,IAAG,EAAG,MAAM,EAAE,CAAC,KAAK,UAAU,YAAY,CAAC,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,KAAK,SAAS,CAAC,KAAK,UAAU,GAAG,KAAK,UAAU,SAAS,EAAE,WAAW,CAAA,CAAE,EAAE,CAAC,QAAQ,KAAK,QAAQ,UAAU,KAAK,UAAU,oBAAoB,KAAK,oBAAoB,WAAWvB,EAAG,WAAW,CAAC,GAAG,KAAK,MAAM,eAAe,CAAC,CAAC,GAAG,KAAK,UAAU,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAQ,KAAK,gBAAV,GAAwB,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,KAAK,MAAM,OAAO,CAAC,CAAC,SAAS,CAAC,KAAK,UAAU,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,QAAQ,YAAY,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,WAAW,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,GAAG,KAAK,KAAK,WAAY,CAAA,CAAC,KAAK,MAAO,CAAA,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,KAAK,UAAU,OAAO,KAAK,UAAU,EAAE,MAAM,KAAK,UAAU,QAAQ,KAAK,MAAO,CAAA,CAAC,aAAa,EAAE,QAAQ,CAAE,CAAA,WAAW,CAAE,CAAA,SAAS,CAAC,MAAM,EAAE,KAAK,UAAU,EAAE,KAAK,eAAe,KAAK,eAAe,OAAO,KAAK,UAAU,OAAO,KAAK,cAAc,GAAe,KAAK,QAAjB,WAAwB,KAAK,WAAY,EAAC,GAAG,CAAU,IAAT,QAAY,KAAK,MAAM,OAAO,CAAC,CAAC,CAAC,EAAW,IAAT,QAAY,KAAK,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,MAAS,CAAA,CAAE,CAAC,aAAa1C,EAAE,CAAC,MAAMC,EAAEF,EAAE,CAAA,EAAG,CAAC,iBAAiB,UAAU,oBAAoB,UAAU,oBAAoB,EAAE,mBAAmB,GAAG,WAAW,UAAU,kBAAkB,UAAU,kBAAkB,EAAE,WAAW,EAAE,gBAAgB,UAAU,gBAAgB,EAAE,OAAO,CAAC,CAAC,EAAE,OAAkBC,EAAE,OAAd,WAAgCA,EAAE,SAAS,OAAvB,WAA6BA,EAAE,WAAW,OAAO,KAAK,MAAMC,EAAE,iBAAiB,KAAK,wBAAwB,KAAK,OAAO,UAAUA,EAAE,iBAAiBD,CAAC,EAAEC,EAAE,oBAAoB,KAAK,wBAAwB,KAAK,OAAO,aAAaA,EAAE,oBAAoBD,CAAC,EAAEC,EAAE,oBAAoB,KAAK,uBAAuB,KAAK,OAAO,aAAaA,EAAE,oBAAoBD,CAAC,EAAEC,EAAE,mBAAmB,KAAK,uBAAuB,KAAK,OAAO,YAAYA,EAAE,mBAAmBD,CAAC,EAAEC,EAAE,OAAO,GAAGA,IAAeD,EAAE,OAAd,WAA8BA,EAAE,SAAS,OAArB,SAA2BA,EAAE,WAAW,OAAO,KAAK,OAAMC,EAAE,WAAW,KAAK,uBAAuB,KAAK,OAAO,kBAAkBA,EAAE,WAAWD,CAAC,EAAEC,EAAE,WAAW,KAAK,wBAAwB,KAAK,OAAO,kBAAkBA,EAAE,WAAWD,CAAC,EAAEC,EAAE,kBAAkB,KAAK,wBAAwB,KAAK,OAAO,yBAAyBA,EAAE,kBAAkBD,CAAC,EAAEC,EAAE,kBAAkB,KAAK,uBAAuB,KAAK,OAAO,yBAAyB,EAAED,CAAC,EAAEC,EAAE,OAAO,IAAGA,EAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,gBAAgB,CAAC,GAAG,EAAE,WAAW,OAAO,KAAK,MAAMsE,GAAG,EAAE,KAAK,mBAAmB,CAAC,CAAC,CAAC,MAAMK,CAAE,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgBzE,EAAE,oBAAoB,EAAE,WAAWE,CAAC,EAAE,CAAC,KAAK,MAAM,OAAO,KAAK,KAAK,OAAO,KAAK,QAAQ,OAAO,KAAK,UAAU,OAAO,KAAK,gBAAgB,OAAO,KAAK,oBAAoB,OAAO,KAAK,WAAW,OAAO,KAAK,MAAM,EAAE,KAAK,KAAK,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,KAAK,gBAAgBF,EAAE,KAAK,oBAAoB,EAAE,KAAK,WAAWE,CAAC,CAAC,CAAC,SAASwE,GAAG,CAAC,UAAU9E,EAAE,MAAMC,EAAE,gBAAgBC,CAAC,EAAE,CAAC,MAAMC,EAAED,EAAE,EAAE,CAAC,EAAEE,EAAE,EAAEC,CAAC,EAAEJ,EAAE,MAAM,CAAC,KAAK,UAAU,WAAW,GAAG,SAAS,CAAC,KAAK,UAAU,YAAY,CAAC,CAACD,EAAEI,EAAED,EAAEE,EAAEF,CAAC,EAAEH,EAAEI,EAAED,EAAEE,EAAEF,CAAC,EAAEH,EAAEI,EAAED,EAAEE,EAAEF,CAAC,EAAEH,EAAEI,EAAED,EAAEE,EAAEF,CAAC,EAAEH,EAAEI,EAAED,EAAEE,EAAEF,CAAC,CAAC,EAAE,IAAIH,GAAG,CAACA,EAAE,IAAIA,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM+E,WAAWF,CAAE,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,EAAE,OAAOC,GAAG,CAAC,UAAU,KAAK,UAAU,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,gBAAgB,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC,MAAME,WAAWH,CAAE,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE1E,EAAE,EAAEC,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAOF,EAAE,CAAC,EAAEC,EAAE,EAAEC,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM6E,WAAWJ,CAAE,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,OAAO,OAAO,KAAK,cAAc,OAAO,KAAK,iBAAiB,OAAO,KAAK,iCAAiC7E,GAAG,KAAK,aAAaA,EAAEA,GAAG,GAAQA,EAAE,YAAYA,EAAE,WAAW,OAAO,KAAK,KAAK,EAAE,KAAK,uBAAuB,CAACA,EAAEC,IAAI,KAAK,aAAaD,EAAEA,GAAG,GAAQA,EAAE,YAAYA,EAAE,WAAW,OAAO,KAAK,MAAMA,EAAE,KAAKC,EAAE,EAAE,KAAK,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,iBAAiB,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,iBAAiB,OAAO,CAAC,EAAE,EAAE,KAAK,MAAM,OAAO,EAAE,CAAC,EAAEG,EAAE,CAAC,MAAM,OAAO,QAAQ,GAAQ,EAAE,OAAO,EAAE,QAAQH,GAAG,CAAC,IAAIC,EAAE,GAAeD,EAAE,SAAS,OAAvB,UAA4BC,EAAED,EAAE,SAAS,YAAY,CAAC,MAAM,CAAC,GAAkBA,EAAE,SAAS,OAA1B,aAA+B,OAAOC,EAAED,EAAE,SAAS,WAAW,CAACC,EAAE,QAAQD,GAAG,CAAC,MAAMC,EAAE,KAAK,cAAc,QAAQ,EAAED,CAAC,EAAEC,EAAEE,EAAE,SAASF,EAAE,KAAK,kBAAkBE,EAAE,MAAMH,EAAEG,EAAE,QAAQF,EAAE,CAAC,CAAC,CAAC,EAAEE,EAAE,KAAK,CAAC,CAAC,SAAS8E,GAAGlF,EAAEC,EAAEC,EAAE,CAAC,MAAMC,EAAEmD,EAAGtD,EAAE,CAAC,CAAC,EAAEI,EAAEkD,EAAGtD,EAAE,CAAC,CAAC,EAAEK,EAAEiD,EAAGpD,CAAC,EAAEI,EAAEiD,GAAGtD,CAAC,EAAE,EAAE,KAAK,KAAK,KAAK,IAAIG,CAAC,EAAE,KAAK,IAAIE,CAAC,EAAE,KAAK,IAAIF,CAAC,EAAE,KAAK,IAAIE,CAAC,EAAE,KAAK,IAAID,CAAC,CAAC,EAAE,MAAM,CAACmD,EAAGrD,EAAE,KAAK,MAAM,KAAK,IAAIE,CAAC,EAAE,KAAK,IAAIC,CAAC,EAAE,KAAK,IAAIF,CAAC,EAAE,KAAK,IAAIE,CAAC,EAAE,KAAK,IAAIF,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,EAAEoD,EAAG,CAAC,CAAC,CAAC,CAAC,SAAS2B,GAAG,CAAC,EAAEnF,EAAE,EAAEC,CAAC,EAAEC,EAAEC,EAAE,CAAC,MAAMC,EAAEkD,EAAGnD,CAAC,EAAE,MAAM,CAAC,EAAEH,EAAEE,EAAE,KAAK,IAAIE,CAAC,EAAE,EAAEH,EAAEC,EAAE,KAAK,IAAIE,CAAC,CAAC,CAAC,CAAC,SAASgF,GAAGpF,EAAEC,EAAE,CAAC,MAAMC,EAAEoD,EAAGtD,EAAE,CAAC,CAAC,EAAEG,EAAEmD,EAAGrD,EAAE,CAAC,CAAC,EAAEG,EAAEkD,EAAGtD,EAAE,CAAC,CAAC,EAAEK,EAAEiD,EAAGrD,EAAE,CAAC,CAAC,EAAEK,EAAE,KAAK,IAAIH,EAAED,CAAC,EAAE,KAAK,IAAIG,CAAC,EAAE,EAAE,KAAK,IAAID,CAAC,EAAE,KAAK,IAAIC,CAAC,EAAE,KAAK,IAAID,CAAC,EAAE,KAAK,IAAIC,CAAC,EAAE,KAAK,IAAIF,EAAED,CAAC,EAAE,OAAOsD,EAAG,KAAK,MAAMlD,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS+E,GAAG,CAAC,EAAErF,EAAE,EAAEC,CAAC,EAAE,CAAC,EAAEC,EAAE,EAAEC,CAAC,EAAE,CAAC,IAAIC,EAAE,KAAK,MAAMD,EAAEF,EAAEC,EAAEF,CAAC,EAAE,OAAOI,GAAG,IAAI,KAAK,GAAGA,EAAE,IAAIA,GAAG,IAAIA,EAAE,OAAOA,GAAG,KAAKA,CAAC,CAAC,SAASkF,GAAGtF,EAAEC,EAAEC,EAAE,CAAC,MAAMC,EAAE,CAAA,EAAGC,EAAEJ,EAAE,OAAO,IAAIK,EAAEC,EAAE,EAAE,EAAE,EAAE,QAAQF,EAAE,EAAEA,EAAEJ,EAAE,QAAQ,EAAEC,GAAG,GAAGG,IAAIJ,EAAE,OAAO,GAAGI,IAAI,CAAC,GAAG,EAAEH,GAAOE,EAAE,SAAN,EAAa,CAAC,GAAGE,EAAEJ,EAAE,EAAE,CAACI,EAAE,OAAOF,EAAE,KAAKH,EAAEI,CAAC,CAAC,EAAED,EAAEG,EAAE8E,GAAGpF,EAAEI,CAAC,EAAEJ,EAAEI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE8E,GAAGlF,EAAEI,CAAC,EAAEC,EAAEC,CAAC,EAAEH,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,GAAGD,EAAE,OAAOG,EAAEH,EAAE,EAAEG,GAAGC,EAAE8E,GAAGpF,EAAEI,CAAC,EAAEJ,EAAEI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE8E,GAAGlF,EAAEI,CAAC,EAAEC,EAAEC,CAAC,EAAEH,EAAE,KAAK,CAAC,EAAEA,IAAIA,EAAE,KAAKH,EAAEI,CAAC,CAAC,EAAED,GAAG,GAAG,GAAGF,GAAGE,EAAE,KAAKH,EAAEI,CAAC,CAAC,EAAEA,IAAIJ,EAAE,OAAO,EAAE,OAAOG,EAAE,GAAGiD,EAAGpD,EAAEI,CAAC,EAAEJ,EAAEI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAEH,GAAGD,EAAE,SAASI,EAAE,MAAM,IAAI,MAAM,+BAA+B,EAAE,MAAM6D,EAAEjE,EAAEA,EAAE,OAAO,CAAC,EAAE,MAAM,CAACiE,EAAEA,CAAC,CAAC,CAAC,SAASsB,GAAGvF,EAAE,CAAC,OAAOA,GAAG,KAAK,GAAG,IAAI,CAAC,SAASwF,GAAGxF,EAAE,CAAC,OAAOA,GAAG,IAAI,KAAK,GAAG,CAAC,MAAMyF,WAAWZ,CAAE,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,OAAO,OAAO,KAAK,OAAO,CAAC,CAAC,6BAA6B,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,IAAIzE,EAAE,EAAE,QAAQJ,EAAE,EAAEA,EAAE,EAAE,OAAO,EAAEA,IAAII,GAAGgD,EAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAGhD,GAAG,EAAE,OAAO,EAAE,IAAI,EAAEA,EAAE,EAAE,EAAE,OAAO,UAAU,CAAC,IAAI,EAAE,KAAK,MAAM,CAAC,EAAE,GAAG,MAAME,EAAE,CAAA,EAAG,QAAQN,EAAE,EAAEA,EAAE,EAAEA,IAAI,CAAC,MAAMC,EAAEqF,GAAG,EAAE,EAAEtF,EAAE,GAAGA,EAAE,EAAE,EAAEM,EAAE,KAAKL,CAAC,CAAC,CAAC,MAAMM,EAAE,CAAA,EAAG,QAAQP,EAAE,EAAEA,EAAEM,EAAE,OAAON,IAAIO,EAAE,KAAKD,EAAEN,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,iBAAiBO,CAAC,CAAC,CAAC,qCAAqC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE6C,EAAG,EAAE,CAAC,EAAEhD,EAAE,SAASJ,EAAEC,EAAEC,EAAE,CAAC,MAAMC,EAAE,CAAE,EAACC,EAAEmF,GAAGvF,EAAE,CAAC,CAAC,EAAEK,EAAEkF,GAAGvF,EAAE,CAAC,CAAC,EAAEM,EAAEiF,GAAGtF,EAAE,CAAC,CAAC,EAAEM,EAAEgF,GAAGtF,EAAE,CAAC,CAAC,EAAEC,GAAG,EAAE,MAAMM,EAAE,EAAE,KAAK,KAAK,KAAK,KAAK,KAAK,KAAKF,EAAEF,GAAG,CAAC,GAAG,EAAE,KAAK,IAAIA,CAAC,EAAE,KAAK,IAAIE,CAAC,EAAE,KAAK,KAAKC,EAAEF,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,GAAOG,IAAJ,GAAO,MAAMA,CAAC,EAAE,OAAOL,EAAE,QAAQH,EAAE,EAAEA,GAAGE,EAAEF,IAAI,CAAC,MAAMC,EAAED,EAAEE,EAAE+D,EAAE,KAAK,KAAK,EAAEhE,GAAGO,CAAC,EAAE,KAAK,IAAIA,CAAC,EAAEC,EAAE,KAAK,IAAIR,EAAEO,CAAC,EAAE,KAAK,IAAIA,CAAC,EAAE0D,EAAED,EAAE,KAAK,IAAI7D,CAAC,EAAE,KAAK,IAAIC,CAAC,EAAEI,EAAE,KAAK,IAAIH,CAAC,EAAE,KAAK,IAAIC,CAAC,EAAE6D,EAAEH,EAAE,KAAK,IAAI7D,CAAC,EAAE,KAAK,IAAIC,CAAC,EAAEI,EAAE,KAAK,IAAIH,CAAC,EAAE,KAAK,IAAIC,CAAC,EAAE8D,EAAEJ,EAAE,KAAK,IAAI7D,CAAC,EAAEK,EAAE,KAAK,IAAIH,CAAC,EAAE,GAAG,MAAM4D,CAAC,GAAG,MAAME,CAAC,GAAG,MAAMC,CAAC,EAAE,SAAS,MAAMM,EAAE,KAAK,MAAMN,EAAE,KAAK,KAAKH,GAAG,EAAEE,GAAG,CAAC,CAAC,EAAEsB,EAAE,KAAK,MAAMtB,EAAEF,CAAC,EAAE,MAAMS,CAAC,GAAG,MAAMe,CAAC,GAAGvF,EAAE,KAAK,CAACqF,GAAGE,CAAC,EAAEF,GAAGb,CAAC,CAAC,CAAC,CAAC,CAAC,OAAOxE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,iBAAiBC,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,OAAO,EAAE,IAAIJ,GAAG,CAACC,EAAED,EAAE,CAAC,EAAE,KAAK,OAAO,mBAAmB,EAAEC,EAAED,EAAE,CAAC,EAAE,KAAK,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS2F,EAAG3F,EAAEC,EAAE,CAAC,OAAOD,EAAE,CAAC,IAAIC,EAAE,CAAC,GAAGD,EAAE,CAAC,IAAIC,EAAE,CAAC,CAAC,CAAC,MAAM2F,WAAW1C,CAAE,CAAC,YAAYjD,EAAE,CAAC,MAAMA,CAAC,EAAE,KAAK,KAAK,aAAa,KAAK,kBAAkB,EAAE,KAAK,UAAU,OAAO,KAAK,eAAe,OAAO,KAAK,UAAU,OAAO,KAAK,gBAAgB,OAAO,KAAK,QAAQ,OAAO,KAAK,UAAU,GAAG,KAAK,kBAAkB,OAAO,KAAK,wBAAwB,OAAO,KAAK,SAAS,OAAO,KAAK,YAAY,OAAO,MAAMC,EAAE,CAAC,MAAM,YAAY,MAAM,SAAS,EAAE,GAAG,KAAK,QAAQD,GAAGA,EAAE,QAAQD,EAAE,GAAGE,EAAED,EAAE,OAAO,EAAEC,EAAE,KAAK,gBAAgB,EAAE,CAACD,GAAYA,EAAE,WAAX,SAAsBA,EAAE,UAAuBA,GAAN,KAAQ,OAAOA,EAAE,aAAzB,KAAoC,KAAK,UAAU,CAAC,OAAO,KAAK,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,SAAS,OAAO,OAAO,EAAE,KAAK,UAAUA,GAAGA,EAAE,UAAUD,EAAE,CAAE,EAAC,EAAEC,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,SAAeA,GAAN,KAAQ,OAAOA,EAAE,WAAW,KAAK,kBAAwBA,GAAN,KAAQ,OAAOA,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAAY,KAAK,YAAd,OAAwB,OAAO,MAAM,EAAE,KAAK,MAAM,gBAAgB,KAAK,SAAS,EAAE,EAAE,YAAY,IAAK,EAAC,KAAK,iBAAiB,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO0C,EAAG,MAAM,EAAE,MAAM,EAAE,KAAK,UAAU,KAAK,gBAAgB,KAAK,MAAM,OAAO,CAAC,KAAK,cAAc,CAAC,EAAE,KAAK,kBAAkB,EAAE,KAAK,UAAU,OAAO,KAAK,eAAe,OAAO,KAAK,wBAAwB,OAAmB,KAAK,QAAjB,WAAwB,KAAK,WAAU,EAAG,KAAK,SAAS,EAAE,CAAC,KAAK,KAAK,KAAK,OAAO,MAAM,CAAC,CAAC,CAAC,iBAAiB,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,UAAU,OAAO,MAAM,EAAE,CAAC,KAAK,aAAa,YAAY,CAAC,EAAE,GAAG,KAAK,UAAU,CAAC,KAAK,SAAS,CAAC,KAAK,UAAU,SAAS,CAAC,EAAE,CAAC,QAAQ,KAAK,QAAQ,UAAU,KAAK,UAAU,oBAAoB,KAAK,oBAAoB,WAAW,CAAC,CAAC,EAAE,OAAO,MAAMvC,EAAE,CAAC,CAAC,GAAG,KAAK,UAAU,SAAS,CAAC,CAAC,EAAE,KAAK,gBAAgB,GAAGA,EAAE,KAAK,CAAC,GAAG,KAAK,eAAe,SAAS,CAAC,KAAK,QAAQ,YAAY,CAAC,CAAC,CAAC,EAAa,IAAX,WAAe,KAAK,wBAAwB,EAAE,aAAa,KAAK,MAAM,eAAeA,CAAC,CAAC,CAAC,0BAA0B,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,mBAAmB,CAAC,KAAK,wBAAwB,MAAM,IAAI,MAAM,gCAAgC,EAAE,GAAc,KAAK,kBAAkB,WAAlC,SAA2C,MAAM,IAAI,MAAM,yBAAyB,EAAE,MAAM,EAAEgD,EAAG,EAAE,CAAC,GAAG,KAAK,kBAAkB,MAAM,GAAG,IAAI,EAAE,CAAE,EAAC,OAAgB,KAAK,aAAf,QAA0B,EAAE,KAAK,YAAY,qCAAqC,EAAE,EAAE,CAAC,EAAmB,KAAK,aAAtB,iBAAmC,EAAE,KAAK,YAAY,6BAA6B,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,MAAM,OAAO,CAAC,CAAC,SAAS,CAAC,KAAK,aAAa,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,wBAAwB,CAAC,EAAE,CAAC,EAAE,KAAK,UAAU,EAAE,KAAK,oBAAoB,KAAK,WAAY,CAAA,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,KAAK,UAAU,OAAO,MAAM,EAAE,KAAK,MAAM,gBAAgB,KAAK,SAAS,EAAE,YAAY,CAAC,CAAC,EAAE,KAAK,MAAM,OAAO,CAAC,CAAC,SAAS,CAAC,KAAK,QAAQ,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,eAAe,EAAE,KAAK,UAAU,KAAK,QAAQ,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,iBAAiB,EAAE,OAAOT,EAAG,MAAM,EAAE,KAAK,mBAAmB,CAAC,aAAa,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,UAAU,OAAO,MAAMxC,EAAE,KAAK,MAAM,gBAAgB,KAAK,SAAS,EAAE,YAAY,CAACC,EAAEC,CAAC,EAAE,KAAK,wBAAwB,KAAK,wBAAwB,KAAK,wBAAwB,OAAO,CAAC,EAAEF,EAAEA,EAAE,OAAO,CAAC,EAAE,CAAC,EAAEG,EAAE,EAAE,CAAC,EAAE,KAAK,QAAQF,EAAEC,CAAC,EAAE,GAAGH,EAAE,CAAC,EAAEI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,gBAAgB,OAAO,KAAK,KAAK,MAAK,EAAG,KAAK,UAAU,KAAK,QAAQ,KAAK,EAAE,MAAM,EAAE,CAAC,GAAGH,EAAE,CAAC,EAAE,KAAK,iBAAiB,EAAEA,EAAEA,EAAE,OAAO,CAAC,EAAEwC,EAAG,MAAM,EAAE,KAAK,mBAAmB,CAAC,kBAAkB,EAAE,CAAC,KAAK,SAAS,IAAIsC,GAAG,EAAE,IAAID,GAAG,CAAC,EAAE,IAAID,GAAG,CAAC,CAAC,EAAE,KAAK,YAAY,IAAIU,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,WAAY,EAAC,KAAK,UAAU,KAAK,QAAQ,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,QAAS,EAAC,KAAK,WAAY,EAAC,KAAK,UAAU,OAAO,CAAC,CAAC,YAAY,EAAE,CAAC,GAAG,KAAK,UAAU,GAAG,KAAK,UAAU,KAAK,QAAQ,KAAK,EAAW,KAAK,YAAd,QAA6B,KAAK,oBAAT,EAA2B,OAAO,MAAM,EAAE,KAAK,MAAM,gBAAgB,KAAK,SAAS,EAAE,YAAY,EAAE,IAAK,EAAC,MAAMtF,EAAE,KAAK,iBAAiB,KAAK,SAAS,uBAAuB,EAAE,KAAK,SAAS,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,KAAK,eAAe,CAAC,KAAK,CAACA,EAAEC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,EAAEC,EAAE,EAAEC,CAAC,EAAE,KAAK,QAAQH,EAAEC,CAAC,EAAEF,EAAE,CAAC,EAAEG,EAAE,EAAEC,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,UAAU,CAAC,EAAE,KAAK,iBAAiB,KAAK,UAAU,KAAK,QAAQ,KAAK,CAAC,CAAC,IAAIF,EAAE,CAAC,GAAG,EAAED,CAAC,EAAE,GAAG,KAAK,mBAAmB,KAAK,WAAW,KAAK,wBAAwB,CAAC,MAAMH,EAAE,KAAK,wBAAwB,KAAK,wBAAwB,OAAO,CAAC,EAAEC,EAAEE,EAAE,GAAG,CAACwF,EAAG3F,EAAEC,CAAC,EAAE,CAAC,MAAMC,EAAE,KAAK,0BAA0BF,EAAEC,CAAC,EAAEG,EAAE,CAAC,GAAG,KAAK,wBAAwB,MAAM,EAAE,EAAE,EAAE,GAAGF,EAAEC,CAAC,CAAC,CAAC,CAAC,KAAK,iBAAiBC,EAAE,OAAOuC,EAAG,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,kBAAkB,GAAG,CAAC,KAAK,WAAW,KAAK,YAAY,CAAC,EAAE,KAAK,UAAU,GAAG,MAAM,EAAE,KAAK,WAAW,KAAK,iBAAiB,KAAK,SAAS,uBAAuB,EAAE,KAAK,SAAS,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAM,KAAK,oBAAT,EAA2B,KAAK,WAAW,CAAC,EAAM,KAAK,oBAAT,GAA4B,KAAK,UAAU,KAAK,kBAAkB,CAAC,EAAE,KAAK,WAAW,KAAK,aAAa,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,WAAW,CAAE,CAAA,QAAQ,EAAE,CAAC,EAAE,MAAM,KAAK,UAAU,QAAQ,KAAK,QAAS,EAAC,EAAE,MAAM,KAAK,UAAU,QAAQ,KAAK,MAAO,CAAA,CAAC,aAAa,CAAE,CAAA,QAAQ,CAAE,CAAA,WAAW,CAAA,CAAE,SAAS,CAAC,MAAM,EAAE,KAAK,UAAU,KAAK,eAAe,OAAO,KAAK,UAAU,OAAO,KAAK,kBAAkB,EAAc,KAAK,QAAjB,WAAwB,KAAK,WAAY,EAAC,GAAG,CAAU,IAAT,QAAY,KAAK,MAAM,OAAO,CAAC,CAAC,CAAC,EAAW,KAAK,iBAAd,QAA8B,KAAK,MAAM,OAAO,CAAC,KAAK,cAAc,CAAC,CAAC,MAAS,CAAE,CAAA,CAAC,aAAa1C,EAAE,CAAC,MAAMC,EAAEF,EAAE,CAAA,EAAG,CAAC,iBAAiB,UAAU,oBAAoB,UAAU,oBAAoB,EAAE,mBAAmB,GAAG,WAAW,UAAU,kBAAkB,UAAU,kBAAkB,EAAE,WAAW,EAAE,gBAAgB,UAAU,gBAAgB,EAAE,OAAO,CAAC,CAAC,EAAE,OAAkBC,EAAE,OAAd,WAAmCA,EAAE,SAAS,OAA1B,cAAgCA,EAAE,WAAW,OAAO,KAAK,MAAMC,EAAE,gBAAgB,KAAK,wBAAwB,KAAK,OAAO,gBAAgBA,EAAE,gBAAgBD,CAAC,EAAEC,EAAE,gBAAgB,KAAK,uBAAuB,KAAK,OAAO,gBAAgBA,EAAE,gBAAgBD,CAAC,EAAEC,EAAE,OAAO,GAAGA,IAAeD,EAAE,OAAd,WAA8BA,EAAE,SAAS,OAArB,SAA2BA,EAAE,WAAW,OAAO,KAAK,OAAMC,EAAE,WAAW,KAAK,wBAAwB,KAAK,OAAO,kBAAkBA,EAAE,WAAWD,CAAC,EAAEC,EAAE,WAAW,KAAK,uBAAuB,KAAK,OAAO,kBAAkBA,EAAE,WAAWD,CAAC,EAAEC,EAAE,kBAAkB,KAAK,wBAAwB,KAAK,OAAO,yBAAyB,UAAUD,CAAC,EAAEC,EAAE,kBAAkB,KAAK,uBAAuB,KAAK,OAAO,yBAAyB,EAAED,CAAC,EAAEC,EAAE,OAAO,IAAGA,EAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,gBAAgB,CAAC,GAAkB,EAAE,SAAS,OAA1B,cAAgC,EAAE,WAAW,OAAO,KAAK,MAAM,EAAE,SAAS,YAAY,QAAQ,CAAC,CAAC,CAAC,SAAS2F,GAAG7F,EAAEC,EAAE,CAAC,OAAgBD,EAAE,SAAS,OAArB,SAA2BsE,GAAGtE,EAAE,SAAS,YAAYC,CAAC,CAAC,CAAC,MAAM6F,WAAW5C,CAAE,CAAC,YAAYjD,EAAE,CAAC,MAAMA,CAAC,EAAE,KAAK,KAAK,QAAQ,KAAK,QAAQ,OAAO,MAAMC,EAAE,CAAC,OAAO,WAAW,EAAE,KAAK,QAAQD,GAAGA,EAAE,QAAQD,EAAE,CAAA,EAAGE,EAAED,EAAE,OAAO,EAAEC,CAAC,CAAC,OAAO,CAAC,KAAK,aAAa,KAAK,UAAU,KAAK,QAAQ,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,UAAU,KAAK,aAAa,KAAK,UAAU,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,KAAK,MAAM,MAAM,IAAI,MAAM,+BAA+B,EAAE,MAAM,EAAE,CAAC,KAAK,QAAQ,YAAY,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,EAAE,GAAG,KAAK,UAAU,CAAC,KAAK,SAAS,CAAC,KAAK,UAAU,SAAS,EAAE,WAAW,CAAC,EAAE,CAAC,QAAQ,KAAK,QAAQ,UAAU,KAAK,UAAU,oBAAoB,KAAK,oBAAoB,WAAWyC,EAAG,MAAM,CAAC,EAAE,OAAO,KAAK,CAAC,CAAC,EAAE,KAAK,MAAM,OAAO,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC,KAAK,KAAK,KAAK,OAAO,MAAM,CAAC,CAAC,CAAC,aAAa,CAAE,CAAA,WAAW,CAAE,CAAA,SAAS,CAAA,CAAE,SAAS,CAAE,CAAA,aAAa,CAAE,CAAA,QAAQ,CAAA,CAAE,WAAW,CAAA,CAAE,aAAa1C,EAAE,CAAC,MAAMC,EAAEF,EAAE,CAAA,EAAG,CAAC,iBAAiB,UAAU,oBAAoB,UAAU,oBAAoB,EAAE,mBAAmB,GAAG,WAAW,UAAU,kBAAkB,UAAU,kBAAkB,EAAE,WAAW,EAAE,gBAAgB,UAAU,gBAAgB,EAAE,OAAO,CAAC,CAAC,EAAE,OAAkBC,EAAE,OAAd,WAA8BA,EAAE,SAAS,OAArB,SAA2BA,EAAE,WAAW,OAAO,KAAK,OAAOC,EAAE,WAAW,KAAK,uBAAuB,KAAK,OAAO,WAAWA,EAAE,WAAWD,CAAC,EAAEC,EAAE,WAAW,KAAK,wBAAwB,KAAK,OAAO,WAAWA,EAAE,WAAWD,CAAC,EAAEC,EAAE,kBAAkB,KAAK,wBAAwB,KAAK,OAAO,kBAAkBA,EAAE,kBAAkBD,CAAC,EAAEC,EAAE,kBAAkB,KAAK,uBAAuB,KAAK,OAAO,kBAAkB,EAAED,CAAC,EAAEC,EAAE,OAAO,IAAIA,CAAC,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,gBAAgB,CAAC,GAAG,EAAE,WAAW,OAAO,KAAK,MAAM2F,GAAG,EAAE,KAAK,mBAAmB,CAAC,CAAC,CAAC,MAAME,WAAWlB,CAAE,CAAC,YAAY,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,OAAO,OAAO,KAAK,cAAc,OAAO,KAAK,gBAAgB,CAAE,EAAC,KAAK,OAAO,EAAE,KAAK,cAAc,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,KAAK,gBAAgB,OAAQ,CAAA,CAAC,IAAI,IAAI,EAAE,CAAA,CAAE,OAAO,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,OAAO,MAAM,IAAI,MAAM,4CAA4C,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,IAAI,MAAM,iCAAiC,EAAE,KAAK,gBAAgB,KAAK,MAAM,OAAO,CAAC,CAAC,SAAS,CAAC,KAAK,QAAQ,YAAY,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC/B,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,QAAQ,YAAY,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,EAAE,CAACA,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,IAAI,SAAS,KAAK,MAAM,OAAO,KAAK,GAAG,EAAE,KAAK,gBAAgB,GAAG,CAAC,OAAO,EAAE,CAAC,GAAO,KAAK,IAAI,SAAb,EAAoB,MAAM,IAAI,MAAM,6BAA6B,EAAE,KAAK,MAAM,eAAe,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,SAAS,CAAC,KAAK,QAAQ,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,SAAS,CAAC,KAAK,QAAQ,YAAY,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,MAAM,EAAE,KAAK,MAAM,gBAAgB,KAAK,IAAI,CAAC,CAAC,EAAE,EAAE,KAAK,MAAM,gBAAgB,KAAK,IAAI,CAAC,CAAC,EAAE,EAAE,KAAK,cAAc,QAAQ,EAAE,EAAE,WAAW,EAAE1C,EAAE,KAAK,cAAc,QAAQ,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,gBAAgB,kBAAkBA,EAAE,KAAK,eAAe,CAAC,CAAC,CAAC,MAAM4F,WAAW9C,CAAE,CAAC,YAAYjD,EAAE,CAAC,MAAMA,CAAC,EAAE,KAAK,KAAK,UAAU,KAAK,kBAAkB,EAAE,KAAK,UAAU,OAAO,KAAK,UAAU,OAAO,KAAK,gBAAgB,OAAO,KAAK,SAAS,OAAO,KAAK,cAAc,OAAO,KAAK,cAAc,OAAO,KAAK,QAAQ,OAAO,KAAK,UAAU,GAAG,MAAMC,EAAE,CAAC,MAAM,YAAY,MAAM,SAAS,EAAE,GAAG,KAAK,QAAQD,GAAGA,EAAE,QAAQD,EAAE,CAAE,EAACE,EAAED,EAAE,OAAO,EAAEC,EAAE,KAAK,gBAAgB,EAAE,CAACD,GAAYA,EAAE,WAAX,SAAsBA,EAAE,UAAuBA,GAAN,KAAQ,OAAOA,EAAE,aAAzB,KAAoC,KAAK,UAAU,CAAC,OAAO,KAAK,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,SAAS,OAAO,OAAO,EAAE,KAAK,UAAUA,GAAGA,EAAE,UAAUD,EAAE,CAAA,EAAG,EAAEC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAY,KAAK,YAAd,OAAwB,OAAO,MAAM,EAAE,KAAK,MAAM,gBAAgB,KAAK,SAAS,EAAE,YAAY,CAAC,EAAuB,GAAlB,EAAE,OAAO,GAAY,CAAC,KAAK,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE0C,EAAG,MAAM,EAAE,OAAO,MAAM,EAAE,KAAK,UAAU,KAAK,kBAAkB,EAAE,KAAK,UAAU,OAAO,KAAK,cAAc,OAAQ,EAAa,KAAK,QAAjB,WAAwB,KAAK,aAAa,KAAK,SAAS,EAAE,CAAC,KAAK,KAAK,KAAK,OAAO,MAAM,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,KAAK,cAAc,IAAIqC,GAAG,CAAC,EAAE,KAAK,SAAS,IAAIC,GAAG,EAAE,KAAK,cAAc,IAAIF,GAAG,CAAC,CAAC,EAAE,KAAK,cAAc,IAAIgB,GAAG,EAAE,KAAK,aAAa,CAAC,CAAC,OAAO,CAAC,KAAK,aAAa,KAAK,UAAU,KAAK,QAAQ,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,UAAU,KAAK,aAAa,KAAK,UAAU,OAAO,CAAC,CAAC,YAAY,EAAE,CAAC,GAAG,KAAK,UAAU,GAAG,KAAK,UAAU,KAAK,QAAQ,KAAK,EAAW,KAAK,YAAd,QAA6B,KAAK,oBAAT,EAA2B,OAAO,MAAM,EAAE,KAAK,gBAAgB,KAAK,SAAS,uBAAuB,EAAE,KAAK,SAAS,EAAE,OAAO,EAAE,KAAK,MAAM,gBAAgB,KAAK,SAAS,EAAE,YAAY,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,GAAO,KAAK,oBAAT,EAA2B,CAAC,MAAM9F,EAAE,EAAE,KAAK,IAAI,GAAG,KAAK,oBAAoB,CAAC,EAAEG,EAAE,KAAK,IAAI,KAAKH,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,IAAIG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAa,KAAK,oBAAT,EAA2B,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,UAAUH,EAAE,kBAAkBG,CAAC,EAAE,KAAK,cAAc,eAAe,CAAC,EAAEA,GAAGH,GAAG,KAAK,UAAU,KAAK,QAAQ,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,sBAAsB,EAAE0C,EAAG,WAAW,CAAC,CAAC,sBAAsB,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,UAAU,MAAM,GAAG,MAAM,EAAE,CAAC,KAAK,UAAU,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,UAAU,CAAC,KAAK,SAAS,CAAC,KAAK,UAAU,SAAS,CAAC,EAAE,CAAC,QAAQ,KAAK,QAAQ,UAAU,KAAK,UAAU,oBAAoB,KAAK,oBAAoB,WAAW,CAAC,CAAC,IAAI,KAAK,MAAM,eAAe,CAAC,CAAC,GAAG,KAAK,UAAU,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,KAAK,kBAAkB,GAAG,CAAC,KAAK,WAAW,KAAK,YAAY,CAAC,EAAE,KAAK,UAAU,GAAO,KAAK,oBAAT,EAA2B,CAAC,MAAM,EAAE,KAAK,gBAAgB,KAAK,SAAS,iCAAiC,CAAC,EAAE,OAAO,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,KAAK,MAAM,OAAO,CAAC,CAAC,SAAS,CAAC,KAAK,UAAU,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,EAAE,KAAK,oBAAoB,KAAK,WAAY,CAAA,SAAa,KAAK,oBAAT,GAA4B,KAAK,UAAU,CAAC,MAAM,EAAE,KAAK,gBAAgB,KAAK,SAAS,uBAAuB,EAAE,KAAK,SAAS,EAAE,OAAO,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,KAAK,MAAM,gBAAgB,KAAK,SAAS,EAAkD,GAA7CgD,EAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC,GAAY,CAAC,KAAK,sBAAsB,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC,EAAEhD,EAAG,MAAM,EAAE,OAAO,KAAK,mBAAmB,SAAa,KAAK,oBAAT,GAA4B,KAAK,UAAU,CAAC,MAAM,EAAE,KAAK,gBAAgB,KAAK,SAAS,uBAAuB,EAAE,KAAK,SAAS,EAAE,OAAO,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,KAAK,MAAM,gBAAgB,KAAK,SAAS,EAAE,YAAY,CAAC,EAAmC,GAA9BgD,EAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,GAAY,CAAC,KAAK,sBAAsB,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAEhD,EAAG,MAAM,EAAE,OAAW,KAAK,oBAAT,GAA4B,KAAK,cAAc,OAAO,EAAE,SAAS,EAAE,KAAK,mBAAmB,SAAS,KAAK,UAAU,CAAC,MAAM,EAAE,KAAK,gBAAgB,KAAK,SAAS,uBAAuB,EAAE,KAAK,SAAS,EAAE,OAAO,EAAE,KAAK,MAAM,gBAAgB,KAAK,SAAS,EAAE,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,kBAAkBvC,CAAC,EAAE,KAAK,cAAc,eAAe,CAAC,EAAE,GAAGA,GAAG,EAAE,KAAK,MAAO,MAAK,CAAC,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,GAAGuF,EAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,KAAK,kBAAkB,CAAC,CAAC,EAAE,OAAO,MAAMxF,EAAE,SAASH,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,KAAK,UAAU,YAAYA,CAAC,EAAE,WAAW,CAAE,CAAA,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,sBAAsBG,EAAE,SAAS,YAAY,CAAC,EAAEwC,EAAG,MAAM,EAAE,OAAO,KAAK,oBAAoB,KAAK,cAAc,IAAI,QAAQ,KAAK,cAAc,OAAOxC,EAAE,SAAS,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,KAAK,UAAU,OAAO,KAAK,QAAO,EAAG,EAAE,MAAM,KAAK,UAAU,QAAQ,KAAK,OAAO,CAAC,WAAW,CAAA,CAAE,aAAa,CAAC,KAAK,UAAU,OAAO,CAAC,CAAC,QAAQ,CAAE,CAAA,WAAW,CAAC,KAAK,UAAU,KAAK,QAAQ,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,UAAU,KAAK,UAAU,OAAO,KAAK,kBAAkB,EAAc,KAAK,QAAjB,WAAwB,KAAK,WAAU,EAAG,GAAG,CAAU,IAAT,QAAY,KAAK,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,cAAc,IAAI,QAAQ,KAAK,cAAc,OAAM,CAAE,MAAS,CAAA,CAAE,CAAC,aAAaF,EAAE,CAAC,MAAMC,EAAEF,EAAE,GAAG,CAAC,iBAAiB,UAAU,oBAAoB,UAAU,oBAAoB,EAAE,mBAAmB,GAAG,WAAW,UAAU,kBAAkB,UAAU,kBAAkB,EAAE,WAAW,EAAE,gBAAgB,UAAU,gBAAgB,EAAE,OAAO,CAAC,CAAC,EAAE,GAAGC,EAAE,WAAW,OAAO,KAAK,KAAK,CAAC,GAAeA,EAAE,SAAS,OAAvB,UAA4B,OAAOC,EAAE,iBAAiB,KAAK,wBAAwB,KAAK,OAAO,UAAUA,EAAE,iBAAiBD,CAAC,EAAEC,EAAE,oBAAoB,KAAK,wBAAwB,KAAK,OAAO,aAAaA,EAAE,oBAAoBD,CAAC,EAAEC,EAAE,oBAAoB,KAAK,uBAAuB,KAAK,OAAO,aAAaA,EAAE,oBAAoBD,CAAC,EAAEC,EAAE,mBAAmB,KAAK,uBAAuB,KAAK,OAAO,YAAYA,EAAE,mBAAmBD,CAAC,EAAEC,EAAE,OAAO,GAAGA,EAAE,GAAaD,EAAE,SAAS,OAArB,QAA0B,OAAOC,EAAE,WAAW,KAAK,uBAAuB,KAAK,OAAO,kBAAkBA,EAAE,WAAWD,CAAC,EAAEC,EAAE,WAAW,KAAK,wBAAwB,KAAK,OAAO,kBAAkBA,EAAE,WAAWD,CAAC,EAAEC,EAAE,kBAAkB,KAAK,wBAAwB,KAAK,OAAO,yBAAyBA,EAAE,kBAAkBD,CAAC,EAAEC,EAAE,kBAAkB,KAAK,uBAAuB,KAAK,OAAO,yBAAyB,EAAED,CAAC,EAAEC,EAAE,OAAO,GAAGA,CAAC,CAAC,OAAOA,CAAC,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,gBAAgB,CAAC,GAAG,EAAE,WAAW,OAAO,KAAK,MAAMsE,GAAG,EAAE,KAAK,mBAAmB,CAAC,CAAC,CAAC,MAAMyB,WAAW/C,CAAE,CAAC,YAAYjD,EAAE,CAAC,MAAMA,CAAC,EAAE,KAAK,KAAK,YAAY,KAAK,OAAO,OAAO,KAAK,WAAW,EAAE,KAAK,mBAAmB,OAAO,KAAK,UAAU,OAAO,KAAK,QAAQ,OAAO,MAAMC,EAAE,CAAC,MAAM,WAAW,EAAE,GAAG,KAAK,QAAQD,GAAGA,EAAE,QAAQD,EAAE,CAAE,EAACE,EAAED,EAAE,OAAO,EAAEC,GAAgBD,GAAN,KAAQ,OAAOA,EAAE,aAAzB,KAAoC,KAAK,UAAU,CAAC,OAAO,KAAK,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,SAAS,OAAO,OAAO,EAAE,KAAK,UAAUA,GAAGA,EAAE,UAAUD,EAAE,CAAA,EAAG,EAAEC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,gBAAgB,EAAE,EAAE,CAAC,GAAO,KAAK,aAAT,GAAqB,KAAK,QAAQ,KAAK,mBAAmB,CAAC,MAAM,EAAE,KAAK,MAAM,gBAAgB,KAAK,kBAAkB,EAAE,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,UAAU,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,UAAU,CAAC,KAAK,SAAS,CAAC,GAAG,KAAK,mBAAmB,SAAS,CAAC,EAAE,CAAC,QAAQ,KAAK,QAAQ,UAAU,KAAK,UAAU,oBAAoB,KAAK,oBAAoB,WAAW,CAAC,CAAC,EAAE,OAAO,KAAK,MAAM,eAAe,CAAC,CAAC,GAAG,KAAK,mBAAmB,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,mBAAmB,KAAK,OAAO,OAAO,KAAK,mBAAmB,OAAO,KAAK,WAAW,EAAc,KAAK,QAAjB,WAAwB,KAAK,WAAU,EAAG,GAAG,KAAK,SAAS,EAAE,CAAC,KAAK,KAAK,KAAK,OAAO,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,aAAa,KAAK,UAAU,KAAK,QAAQ,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,UAAU,KAAK,aAAa,KAAK,UAAU,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAO,KAAK,aAAT,EAAoB,CAAC,KAAK,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,MAAM,OAAO,CAAC,CAAC,SAAS,CAAC,KAAK,UAAU,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,mBAAmB,EAAE,KAAK,aAAa,KAAK,WAAU,CAAE,MAAM,KAAK,gBAAgB,EAAE0C,EAAG,MAAM,EAAE,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC,KAAK,gBAAgB,EAAEA,EAAG,WAAW,CAAC,CAAC,WAAW,CAAE,CAAA,QAAQ,EAAE,CAAC,EAAE,MAAM,KAAK,UAAU,OAAO,KAAK,QAAS,EAAC,EAAE,MAAM,KAAK,UAAU,QAAQ,KAAK,MAAK,CAAE,CAAC,aAAa,CAAE,CAAA,QAAQ,CAAA,CAAE,WAAW,CAAA,CAAE,SAAS,CAAC,MAAM,EAAE,KAAK,mBAAmB,KAAK,OAAO,OAAO,KAAK,mBAAmB,OAAO,KAAK,WAAW,EAAc,KAAK,QAAjB,WAAwB,KAAK,WAAU,EAAY,IAAT,QAAY,KAAK,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa1C,EAAE,CAAC,MAAMC,EAAEF,EAAE,CAAA,EAAG,CAAC,iBAAiB,UAAU,oBAAoB,UAAU,oBAAoB,EAAE,mBAAmB,GAAG,WAAW,UAAU,kBAAkB,UAAU,kBAAkB,EAAE,WAAW,EAAE,gBAAgB,UAAU,gBAAgB,EAAE,OAAO,CAAC,CAAC,EAAE,OAAkBC,EAAE,OAAd,WAAgCA,EAAE,SAAS,OAAvB,WAA6BA,EAAE,WAAW,OAAO,KAAK,OAAMC,EAAE,iBAAiB,KAAK,wBAAwB,KAAK,OAAO,UAAUA,EAAE,iBAAiBD,CAAC,EAAEC,EAAE,oBAAoB,KAAK,wBAAwB,KAAK,OAAO,aAAaA,EAAE,oBAAoBD,CAAC,EAAEC,EAAE,oBAAoB,KAAK,uBAAuB,KAAK,OAAO,aAAaA,EAAE,oBAAoBD,CAAC,EAAEC,EAAE,mBAAmB,KAAK,uBAAuB,KAAK,OAAO,YAAYA,EAAE,mBAAmBD,CAAC,EAAEC,EAAE,OAAO,IAAGA,CAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,gBAAgB,CAAC,GAAG,EAAE,WAAW,OAAO,KAAK,MAAMuE,GAAG,EAAE,KAAK,mBAAmB,CAAC,CAAC,CAAu9C,SAASyB,GAAGlG,EAAEC,EAAE,CAAC,MAAMC,EAAEF,EAAEG,EAAEF,EAAEG,EAAEkD,EAAGpD,EAAE,CAAC,CAAC,EAAEG,EAAEiD,EAAGnD,EAAE,CAAC,CAAC,EAAE,IAAIG,EAAEgD,EAAGnD,EAAE,CAAC,EAAED,EAAE,CAAC,CAAC,EAAEI,EAAE,KAAK,KAAKA,GAAG,EAAE,KAAK,IAAIA,EAAE,CAAC,KAAK,KAAKA,GAAG,EAAE,KAAK,IAAI,MAAM,EAAE,KAAK,IAAI,KAAK,IAAID,EAAE,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,IAAID,EAAE,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,GAAGoD,EAAG,KAAK,MAAMlD,EAAE,CAAC,CAAC,EAAE,KAAK,IAAI,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,SAAS6F,GAAGnG,EAAEC,EAAEC,EAAE,CAAC,IAAIC,EAAEF,EAAEA,EAAE,IAAIE,EAAE,CAAC,KAAK,IAAIA,CAAC,GAAG,MAAMC,EAAED,EAAEkD,GAAGhD,EAAEL,EAAE,CAAC,EAAE,KAAK,GAAG,IAAIM,EAAEgD,EAAGtD,EAAE,CAAC,CAAC,EAAE,EAAEsD,EAAGpD,CAAC,EAAE,EAAEE,EAAE,KAAK,IAAI,CAAC,EAAE,IAAI6D,EAAE3D,EAAE,EAAE,KAAK,IAAI2D,CAAC,EAAE,KAAK,GAAG,IAAIA,EAAEA,EAAE,EAAE,KAAK,GAAGA,EAAE,CAAC,KAAK,GAAGA,GAAG,MAAMxD,EAAE,KAAK,IAAI,KAAK,IAAIwD,EAAE,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI3D,EAAE,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE4D,EAAE,KAAK,IAAIzD,CAAC,EAAE,MAAM,EAAEA,EAAE,KAAK,IAAIH,CAAC,EAAE,EAAE,EAAE,KAAKD,EAAED,EAAE,KAAK,IAAI,CAAC,EAAE8D,GAAG,KAAK,GAAG,KAAK,IAAI,IAAI,IAAID,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,EAAEjE,EAAE,CAAC,EAAE,IAAI,KAAKA,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,SAASoG,GAAGpG,EAAEE,EAAEC,EAAEC,EAAEC,EAAE,CAAC,MAAM,EAAED,EAAEJ,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,EAAEO,EAAEH,EAAEF,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,EAAE,CAAC,IAAIM,EAAE,IAAIyD,CAAC,EAAE5D,GAAG,EAAE,EAAEE,EAAE,GAAG,GAAG,EAAE,EAAEA,EAAE,GAAG,CAAC,EAAE,MAAM,CAACN,EAAEO,EAAEL,CAAC,EAAEF,EAAEgE,EAAE9D,CAAC,CAAC,CAAC,CAAC,SAASkG,GAAGrG,EAAEE,EAAEC,EAAE,CAAC,MAAMC,EAAE+F,GAAGnG,EAAE,IAAIoD,EAAGpD,EAAEE,CAAC,EAAE,EAAEgG,GAAGlG,EAAEE,CAAC,CAAC,EAAE,MAAM,CAACD,EAAEG,EAAE,CAAC,EAAED,CAAC,EAAEF,EAAEG,EAAE,CAAC,EAAED,CAAC,CAAC,CAAC,CAAC,SAASmG,GAAG,CAAC,cAActG,EAAE,UAAUC,EAAE,UAAUC,EAAE,QAAQC,EAAE,WAAWC,CAAC,EAAE,CAAC,MAAMC,EAAE,GAAG,QAAQC,EAAE,EAAEA,EAAEN,EAAE,OAAO,EAAEM,IAAI,CAAC,IAAI,EAAE,GAAoBF,IAAjB,eAAmB,EAAEgG,GAAGpG,EAAEM,CAAC,EAAEN,EAAEM,EAAE,CAAC,EAAEL,EAAEE,EAAED,CAAC,MAAM,CAAC,GAAaE,IAAV,QAAY,MAAM,IAAI,MAAM,oBAAoB,EAAE,EAAEiG,GAAGrG,EAAEM,CAAC,EAAEN,EAAEM,EAAE,CAAC,EAAEL,CAAC,CAAC,CAACI,EAAE,KAAK,CAAC,CAAC,CAAC,OAAOA,CAAC,CAAC,MAAMkG,WAAW1B,CAAE,CAAC,YAAY,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,OAAO,OAAO,KAAK,uBAAuB,OAAO,KAAK,WAAW,CAAE,EAAC,KAAK,OAAO,EAAE,KAAK,uBAAuB,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,KAAK,WAAW,OAAQ,CAAA,CAAC,IAAI,IAAI,EAAE,CAAE,CAAA,OAAO,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,MAAM,gBAAgB,CAAC,EAAE,CAAC,kBAAkB,EAAE,gBAAgBzE,CAAC,EAAE,KAAK,MAAM,kBAAkB,CAAC,EAAE,EAAE,KAAK,MAAM,gBAAgB,CAAC,EAAEE,EAAc,EAAE,OAAd,UAAmB,EAAE,YAAY,CAAC,EAAE,EAAE,YAAYA,EAAE,OAAOF,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,YAAwB,EAAE,OAAd,UAAmB,CAACE,CAAC,EAAEA,EAAE,KAAK,MAAM,eAAe,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,OAAO,CAAC,GAAG,KAAK,WAAW,GAAG,KAAK,uBAAuB,GAAG,CAAC,EAAE,KAAK,OAAOA,EAAE,EAAE,CAAC,EAAE,KAAK,uBAAuB,OAAOA,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,MAAM,IAAI,CAAC,EAAE,MAAM,IAAI,MAAM,0CAA0C,EAAE,KAAK,WAAW,KAAK,MAAM,OAAO,SAASN,EAAEC,EAAEC,EAAEC,EAAEC,EAAEC,EAAE,CAAC,OAAOiG,GAAG,CAAC,cAActG,EAAE,UAAUE,EAAE,QAAQC,EAAE,UAAUC,EAAE,WAAWC,CAAC,CAAC,EAAE,IAAI,CAACL,EAAEE,KAAK,CAAC,SAAS,CAAC,KAAK,QAAQ,YAAYF,CAAC,EAAE,WAAWC,EAAEC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAEF,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC6C,CAAE,EAAE,GAAG,gBAAgB7C,EAAE,kBAAkB,CAAC,GAAG,EAAE,KAAK,OAAO,QAAQ,KAAK,OAAO,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,WAAW,SAAS,KAAK,MAAM,OAAO,KAAK,UAAU,EAAE,KAAK,WAAW,CAAA,EAAG,CAAC,WAAW,EAAE,CAAC,GAAO,KAAK,WAAW,SAApB,EAA2B,OAAOsG,GAAG,CAAC,cAAc,EAAE,UAAU,KAAK,oBAAoB,QAAQ,KAAK,OAAO,QAAQ,UAAU,KAAK,OAAO,UAAU,WAAW,KAAK,OAAO,UAAU,CAAC,EAAE,IAAI,CAACtG,EAAEC,KAAK,CAAC,GAAG,KAAK,WAAWA,CAAC,EAAE,SAAS,CAAC,KAAK,QAAQ,YAAYD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAMwG,WAAW3B,CAAE,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,iBAAiB,CAAE,CAAA,CAAC,IAAI,KAAK,CAAC,OAAO,KAAK,iBAAiB,OAAM,CAAE,CAAC,IAAI,IAAI,EAAE,CAAE,CAAA,OAAO,EAAE,EAAE,EAAE,CAAC,KAAK,iBAAiB,KAAK,MAAM,OAAO,SAAS7E,EAAEC,EAAEC,EAAE,CAAC,MAAMC,EAAE,CAAA,EAAGC,EAAcH,IAAZ,UAAcD,EAAE,OAAO,EAAEA,EAAE,OAAO,QAAQC,EAAE,EAAEA,EAAEG,EAAEH,IAAIE,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,QAAQ,YAAYH,EAAEC,CAAC,CAAC,EAAE,WAAWC,EAAED,CAAC,CAAC,CAAC,EAAE,OAAOE,CAAC,EAAE,EAAE,EAAEH,IAAI,CAAC,KAAK,KAAK,KAAK,eAAe,GAAG,wBAAwB,EAAE,MAAMA,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,IAAI,SAAS,KAAK,MAAM,OAAO,KAAK,GAAG,EAAE,KAAK,iBAAiB,CAAE,EAAC,CAAC,WAAW,EAAE,CAAC,GAAO,KAAK,iBAAiB,SAA1B,EAAiC,OAAO,KAAK,iBAAiB,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,KAAK,QAAQ,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,GAAY,KAAK,iBAAiB,CAAC,IAAhC,OAAkC,MAAM,CAAC,GAAG,KAAK,iBAAiB,CAAC,EAAE,SAAS,CAAC,KAAK,QAAQ,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,SAASyG,GAAGzG,EAAEC,EAAE,CAAC,IAAIC,EAAE,GAAG,QAAQI,EAAE,EAAE,EAAEL,EAAE,OAAOK,EAAE,EAAEA,IAAI,CAAC,MAAMC,EAAEN,EAAEK,CAAC,EAAE,QAAQL,EAAE,EAAEK,EAAEC,EAAE,OAAOC,EAAEF,EAAE,EAAEL,EAAEK,EAAEE,EAAEP,KAAKG,EAAEG,EAAEN,CAAC,GAAG,CAAC,GAAGE,EAAEH,GAAG,CAAC,IAAIK,EAAEE,EAAEC,CAAC,GAAG,CAAC,EAAEL,EAAE,CAAC,GAAGA,EAAE,CAAC,GAAGE,EAAE,CAAC,EAAED,EAAE,CAAC,IAAID,EAAE,CAAC,EAAEC,EAAE,CAAC,IAAIC,EAAE,CAAC,EAAED,EAAE,CAAC,GAAGA,EAAE,CAAC,IAAIF,EAAE,CAACA,EAAE,CAAC,IAAIC,EAAEC,EAAEC,EAAE,OAAOH,CAAC,CAAC,MAAMwG,GAAG,CAAC1G,EAAEC,EAAEC,IAAI,CAAC,MAAMC,EAAEH,GAAGA,EAAEA,EAAEI,EAAE,CAACJ,EAAEC,IAAIE,EAAEH,EAAE,EAAEC,EAAE,CAAC,EAAEE,EAAEH,EAAE,EAAEC,EAAE,CAAC,EAAE,OAAO,KAAK,MAAM,CAACD,EAAEC,EAAEC,IAAI,CAAC,MAAMC,EAAEC,EAAEH,EAAEC,CAAC,EAAE,GAAOC,IAAJ,EAAM,OAAOC,EAAEJ,EAAEC,CAAC,EAAE,IAAII,IAAIL,EAAE,EAAEC,EAAE,IAAIC,EAAE,EAAED,EAAE,IAAID,EAAE,EAAEC,EAAE,IAAIC,EAAE,EAAED,EAAE,IAAIE,EAAE,OAAOE,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAEA,CAAC,CAAC,EAAED,EAAEJ,EAAE,CAAC,EAAEC,EAAE,EAAEI,GAAGH,EAAE,EAAED,EAAE,GAAG,EAAEA,EAAE,EAAEI,GAAGH,EAAE,EAAED,EAAE,EAAE,CAAC,CAAC,GAAGD,EAAEC,EAAEC,CAAC,CAAC,CAAC,EAAE,MAAMyG,WAAW9B,CAAE,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,OAAO,OAAO,KAAK,uBAAuB,OAAO,KAAK,cAAc,OAAO,KAAK,OAAO,EAAE,KAAK,uBAAuB,EAAE,KAAK,cAAc,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE,EAAEzE,EAAE,IAAS,EAAE,IAAS,MAAME,EAAE,KAAK,uBAAuB,OAAO,CAAC,EAAEC,EAAE,KAAK,MAAM,OAAOD,CAAC,EAAE,QAAQA,EAAE,EAAEA,EAAEC,EAAE,OAAOD,IAAI,CAAC,MAAME,EAAED,EAAED,CAAC,EAAE2D,EAAEzD,EAAE,SAAS,GAAayD,EAAE,OAAZ,QAAiB,CAAC,GAAGzD,EAAE,WAAW,gBAAgB,CAAC,GAAGA,EAAE,WAAWqC,CAAE,EAAE,SAAS,MAAMvC,EAAE,KAAK,cAAc,QAAQ,EAAE2D,EAAE,WAAW,EAAEzD,EAAE,WAAWqC,CAAE,GAAGvC,EAAE,KAAK,iBAAiBA,EAAE,GAAG,EAAEA,EAAE,EAAEE,GAAG,CAACA,EAAE,WAAWqC,CAAE,GAAGvC,EAAE,KAAK,iBAAiBA,EAAEF,IAAIA,EAAEE,EAAE,EAAEE,EAAE,SAAwByD,EAAE,OAAjB,aAAsB,QAAQhE,EAAE,EAAEA,EAAEgE,EAAE,YAAY,OAAO,EAAEhE,IAAI,CAAC,MAAME,EAAE8D,EAAE,YAAYhE,CAAC,EAAEI,EAAE4D,EAAE,YAAYhE,EAAE,CAAC,EAAEK,EAAEoG,GAAG,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,UAAU,EAAE,KAAK,QAAQvG,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,EAAE,KAAK,QAAQE,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,CAAC,EAAEC,EAAE,KAAK,iBAAiBA,EAAEF,IAAIA,EAAEE,EAAE,EAAEE,EAAE,MAAiByD,EAAE,OAAd,WAAoBwC,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAExC,EAAE,WAAW,IAAI7D,EAAE,EAAE,EAAEI,EAAE,CAAC,MAAM,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAMoG,WAAW/B,CAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,OAAO,OAAO,KAAK,qBAAqB,OAAO,KAAK,gBAAgB,OAAO,KAAK,UAAU,OAAO,KAAK,iBAAiB,KAAK,KAAK,aAAa,OAAO,KAAK,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,gBAAgB,EAAE,KAAK,UAAU,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,KAAK,iBAAiB,EAAE,KAAK,aAAa,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,cAAc,CAAC,KAAK,iBAAiB,KAAK,KAAK,aAAa,MAAM,CAAC,YAAY,CAAC,OAAc,KAAK,mBAAZ,IAA4B,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,KAAK,qBAAqB,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE3E,EAAE,CAAC,GAAG,CAAC,KAAK,iBAAiB,OAAO,MAAMC,EAAE,KAAK,MAAM,gBAAgB,KAAK,gBAAgB,EAAEC,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAeD,EAAE,OAAd,WAAmCA,EAAE,OAAjB,aAAsB,CAAC,IAAIE,EAAEC,EAAE,GAAeH,EAAE,OAAd,WAAoBE,EAAEF,EAAE,YAAY,CAAC,EAAEG,EAAED,EAAE,OAAO,IAAIA,EAAEF,EAAE,YAAYG,EAAED,EAAE,QAAQ,CAAC,KAAK,aAAa,MAAM,GAAG,QAAQL,EAAE,EAAEA,EAAEM,EAAEN,IAAI,CAAC,MAAME,EAAEG,EAAEL,CAAC,EAAEG,EAAE,CAAC,KAAK,aAAa,CAAC,EAAEC,EAAE,CAAC,EAAE,KAAK,aAAa,CAAC,EAAEA,EAAE,CAAC,CAAC,EAAEE,EAAEL,EAAEC,EAAE,CAAC,EAAEC,EAAE,CAAC,EAAE,KAAK,OAAO,mBAAmB,EAAEI,EAAEN,EAAEC,EAAE,CAAC,EAAEC,EAAE,CAAC,EAAE,KAAK,OAAO,mBAAmB,EAAE,GAAGG,EAAE,KAAKA,EAAE,MAAMC,EAAE,IAAIA,EAAE,IAAI,MAAM,GAAGF,EAAEL,CAAC,EAAE,CAACM,EAAEC,CAAC,CAAC,CAAaJ,EAAE,OAAd,YAAqBE,EAAEA,EAAE,OAAO,CAAC,EAAE,CAACA,EAAE,CAAC,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,EAAE,KAAK,gBAAgB,WAAWA,CAAC,GAAG,CAAA,EAAG,EAAE,KAAK,UAAU,WAAWA,CAAC,GAAG,CAAE,EAAC,GAAGH,GAAG,CAACA,EAAE,CAAC,KAAK,UAAU,GAAG,KAAK,iBAAiB,SAASC,EAAE,WAAW,CAAA,CAAE,EAAE,CAAC,QAAQ,KAAK,OAAO,QAAQ,UAAU,KAAK,OAAO,UAAU,oBAAoB,KAAK,OAAO,oBAAoB,WAAWwC,EAAG,WAAW,CAAC,EAAE,MAAM,GAAG,KAAK,MAAM,eAAe,CAAC,CAAC,GAAG,KAAK,iBAAiB,SAASxC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,aAAa,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,MAAeA,EAAE,OAAZ,UAAmB,KAAK,MAAM,eAAe,CAAC,CAAC,GAAG,KAAK,iBAAiB,SAAS,CAAC,KAAK,QAAQ,YAAYC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,aAAa,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,MAAMyG,WAAWhC,CAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,OAAO,OAAO,KAAK,cAAc,OAAO,KAAK,gBAAgB,OAAO,KAAK,UAAU,OAAO,KAAK,kBAAkB,CAAC,GAAG,KAAK,MAAM,EAAE,EAAE,KAAK,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAE,KAAK,UAAU,CAAC,CAAC,qBAAqB,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAS,MAAM,GAAG,0BAA0B,EAAE,EAAE,IAAI,EAAE,GAAkB,EAAE,OAAjB,aAAsB,EAAE,EAAE,gBAAgB,CAAC,GAAe,EAAE,OAAd,UAAmB,OAAO,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQzE,EAAE,EAAEA,EAAE,EAAE,OAAOA,IAAI,CAAC,MAAM,EAAE,KAAK,cAAc,QAAQ,EAAE,EAAEA,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,iBAAiB,EAAE,EAAE,KAAK,CAAC,MAAMJ,EAAc,EAAE,OAAd,YAAqBI,IAAI,EAAE,OAAO,GAAOA,IAAJ,GAAO,EAAE,KAAK,EAAE,EAAE,MAAMJ,EAAE,EAAEI,EAAE,EAAE,0BAA0BJ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,kBAAkB,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,MAAM,gBAAgB,CAAC,EAAE,EAAE,KAAK,qBAAqB,EAAE,CAAC,EAAE,OAAW,EAAE,QAAP,GAAa,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,kBAAkB,GAAG,MAAM,GAAG,MAAM,EAAE,KAAK,kBAAkB,MAAMI,EAAE,KAAK,MAAM,gBAAgB,KAAK,kBAAkB,EAAE,EAAE,EAAiBA,EAAE,OAAjB,aAAsBA,EAAE,YAAYA,EAAE,YAAY,CAAC,EAAEE,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,KAAK,EAAE,IAAI,MAAM,EAAE,IAAI,IAAI,EAAE,IAAI,IAAI,MAAM,GAAG,GAAeF,EAAE,OAAd,WAAoB,IAAI,EAAE,OAAO,GAAO,IAAJ,EAAM,EAAE,CAAC,EAAEE,MAAM,CAAC,MAAMN,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAEM,EAAE,EAAEN,CAAC,EAAEM,CAAC,CAAC,MAAMC,EAAE,KAAK,gBAAgB,cAAc,EAAED,CAAC,EAAEE,EAAED,EAAE,CAACA,CAAC,EAAE,GAAG,EAAE,KAAK,UAAU,WAAW,CAAC,GAAG,CAAA,EAAG,MAAM,EAAYH,EAAE,OAAZ,SAAkB,CAAC,GAAG4D,GAAG,CAAC,KAAK,UAAU,SAAS5D,EAAE,WAAW,CAAE,CAAA,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,KAAK,UAAU,GAAG,KAAK,kBAAkB,GAAG,SAASA,EAAE,WAAW,CAAE,CAAA,EAAE,CAAC,QAAQ,KAAK,OAAO,QAAQ,UAAU,KAAK,OAAO,UAAU,oBAAoB,KAAK,OAAO,oBAAoB,WAAWuC,EAAG,WAAW,CAAC,IAAI,KAAK,MAAM,eAAe,CAAC,CAAC,GAAG,KAAK,kBAAkB,GAAG,SAASvC,CAAC,EAAE,GAAGI,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,YAAY,CAAC,OAAc,KAAK,kBAAkB,KAA9B,IAAgC,CAAC,cAAc,EAAE,EAAE,CAAC,KAAK,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,kBAAkB,CAAC,GAAG,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,SAASsG,GAAG9G,EAAE,CAAC,IAAIC,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAE,OAAmBH,EAAE,SAAS,OAAvB,UAA4BA,EAAE,SAAS,YAAY,CAAC,EAAE,MAAM,EAAE,EAAE,EAAEA,EAAE,SAAS,aAAa,QAAQA,GAAG,CAACC,GAAGD,EAAE,CAAC,EAAEE,GAAGF,EAAE,CAAC,EAAEG,GAAG,EAAE,EAAE,EAAE,CAACF,EAAEE,EAAED,EAAEC,CAAC,CAAC,CAAC,SAAS4G,GAAG/G,EAAEC,EAAE,CAACD,EAAE,CAAC,GAAGA,EAAE,CAAC,EAAEC,EAAE,CAAC,EAAE,IAAI,KAAKA,EAAE,CAAC,EAAED,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,MAAME,EAAEmD,GAAGlD,EAAEF,EAAE,CAAC,EAAE,KAAK,GAAG,IAAIG,EAAEJ,EAAE,CAAC,EAAE,KAAK,GAAG,IAAIK,EAAED,EAAED,EAAE,IAAIG,EAAE,KAAK,IAAIN,EAAE,CAAC,EAAEC,EAAE,CAAC,CAAC,EAAE,KAAK,GAAG,IAAIK,EAAE,KAAK,KAAKA,GAAG,EAAE,KAAK,IAAI,MAAM,EAAE,KAAK,IAAI,KAAK,IAAIF,EAAE,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,IAAID,EAAE,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,EAAE,MAAME,EAAE,EAAE,KAAK,IAAIF,CAAC,EAAE,OAAO,KAAK,KAAKE,EAAEA,EAAE,EAAE,EAAEC,EAAEA,CAAC,EAAEJ,CAAC,CAAC,SAAS8G,GAAGhH,EAAE,CAAC,MAAMC,GAAeD,EAAE,SAAS,OAAvB,UAA4BA,EAAE,SAAS,YAAY,CAAC,EAAEA,EAAE,SAAS,aAAa,IAAIA,GAAG,CAAC,KAAK,CAAC,EAAEC,EAAE,EAAEC,CAAC,EAAE0D,EAAG5D,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,EAAE,MAAM,CAACC,EAAEC,CAAC,CAAC,CAAC,EAAE,OAAkBF,EAAE,SAAS,OAAvB,UAA4B,SAASA,EAAE,CAAC,IAAIC,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAE,MAAMC,EAAEJ,EAAE,OAAO,QAAQK,EAAE,EAAEA,EAAED,EAAE,EAAEC,IAAI,CAAC,KAAK,CAACD,EAAEE,CAAC,EAAEN,EAAEK,CAAC,EAAE,CAACE,EAAEC,CAAC,EAAER,EAAEK,EAAE,CAAC,EAAE4D,EAAE7D,EAAEI,EAAED,EAAED,EAAEL,GAAGgE,EAAE/D,IAAIE,EAAEG,GAAG0D,EAAE9D,IAAIG,EAAEE,GAAGyD,CAAC,CAAC,OAAOhE,GAAG,EAAEC,GAAG,EAAED,EAAEE,GAAG,EAAEF,EAAE,CAAC,EAAEC,EAAE,EAAEC,CAAC,CAAC,EAAEF,CAAC,EAAE,SAASD,EAAE,CAAC,MAAMC,EAAED,EAAE,OAAO,IAAIE,EAAE,EAAEC,EAAE,EAAE,QAAQC,EAAE,EAAEA,EAAEH,EAAEG,IAAI,CAAC,KAAK,CAACH,EAAEI,CAAC,EAAEL,EAAEI,CAAC,EAAEF,GAAGD,EAAEE,GAAGE,CAAC,CAAC,MAAM,CAAC,EAAEH,EAAED,EAAE,EAAEE,EAAEF,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,MAAMgH,WAAWpC,CAAE,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,OAAO,OAAO,KAAK,gBAAgB,OAAO,KAAK,UAAU,OAAO,KAAK,YAAY,OAAO,KAAK,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,YAAY,MAAM,CAAC,OAAO,EAAE3E,EAAEC,EAAE,CAAC,MAAMC,EAAE,KAAK,MAAM,gBAAgBF,CAAC,EAAE,GAAeE,EAAE,OAAd,WAAmCA,EAAE,OAAjB,aAAsB,OAAO,MAAMC,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAIC,EAAE,MAAM,EAAE,CAAC,KAAK,UAAU,SAASF,EAAE,WAAW,CAAE,CAAA,EAAE,GAAoB,KAAK,OAAO,aAA7B,eAAwC,CAAC,GAAGE,EAAE+E,GAAG2B,GAAG,CAAC,EAAEpD,EAAG,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,YAAY,OAAO,KAAK,KAAK,YAAYtD,IAAI,CAACN,EAAEC,IAAI,CAAC,GAAOA,IAAJ,GAAaA,IAAN,KAAgBA,IAAP,KAAS,OAAOD,EAAE,MAAME,EAAE,oBAAoBD,EAAEE,GAAeH,EAAE,SAAS,OAAvB,UAA4BA,EAAE,SAAS,YAAY,CAAC,EAAEA,EAAE,SAAS,aAAa,IAAI,CAAC,CAACA,EAAEC,CAAC,IAAI2D,EAAG5D,EAAEC,CAAC,CAAC,EAAEG,EAAED,EAAE,OAAO,CAACH,EAAEC,KAAK,CAAC,EAAED,EAAE,EAAEC,EAAE,EAAE,EAAED,EAAE,EAAEC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAEG,EAAE,GAAGD,EAAE,OAAOC,EAAE,GAAGD,EAAE,OAAO,MAAME,EAAEF,EAAE,IAAIH,IAAI,CAAC,EAAEI,EAAE,GAAGJ,EAAE,EAAEI,EAAE,GAAG,KAAK,IAAIF,CAAC,GAAGF,EAAE,EAAEI,EAAE,GAAG,KAAK,IAAIF,CAAC,EAAE,EAAEE,EAAE,GAAGJ,EAAE,EAAEI,EAAE,GAAG,KAAK,IAAIF,CAAC,GAAGF,EAAE,EAAEI,EAAE,GAAG,KAAK,IAAIF,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,EAAEF,EAAE,EAAEC,CAAC,IAAI,CAAC4D,EAAG7D,EAAEC,CAAC,EAAE,IAAI4D,EAAG7D,EAAEC,CAAC,EAAE,GAAG,CAAC,EAAcD,EAAE,SAAS,OAAvB,UAA4BA,EAAE,SAAS,YAAY,CAAC,EAAEK,GAAG,QAAQ,IAAI,gCAAgCA,CAAC,EAAEL,EAAE,SAAS,YAAYK,EAAE,GAAG,EAAE,EAAE,KAAK,YAAYC,EAAE,CAAC,KAAK,CAAC,GAAa,KAAK,OAAO,aAAtB,QAAiC,MAAM,IAAI,MAAM,wBAAwB,EAAE,GAAGA,EAAE4F,GAAGY,GAAG,CAAC,KAAK,UAAU,SAAS1G,EAAE,WAAW,CAAE,CAAA,CAAC,EAAEC,CAAC,EAAE,CAAC,KAAK,YAAY,OAAO,KAAK,KAAK,YAAYC,EAAE,MAAM,SAASN,EAAEC,EAAE,CAAC,GAAOA,IAAJ,GAAaA,IAAN,KAAgBA,IAAP,KAAS,OAAOD,EAAE,MAAME,EAAE4G,GAAG9G,CAAC,GAAeA,EAAE,SAAS,OAAvB,UAA4BA,EAAE,SAAS,YAAY,CAAC,EAAEA,EAAE,SAAS,aAAa,QAAQA,GAAG,CAAC,MAAMG,EAAE+F,GAAGhG,EAAEF,CAAC,EAAEC,EAAEG,EAAE2G,GAAG7G,EAAEF,CAAC,EAAEK,EAAE8F,GAAGjG,EAAEE,EAAED,CAAC,EAAEH,EAAE,CAAC,EAAEK,EAAE,CAAC,EAAEL,EAAE,CAAC,EAAEK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAE,EAAE,EAAE,KAAK,aAAaC,EAAE,KAAK,CAAC,CAAC,MAAM,EAAcF,EAAE,OAAd,UAAmBA,EAAE,YAAY,CAAC,EAAEA,EAAE,YAAY,EAAE,QAAQJ,GAAG,CAACA,EAAE,CAAC,EAAEC,EAAED,EAAE,CAAC,EAAE,KAAK,mBAAmB,EAAEA,EAAE,CAAC,EAAEC,EAAED,EAAE,CAAC,EAAE,KAAK,mBAAmB,CAAC,CAAC,EAAE,MAAMiE,EAAE,KAAK,UAAU,WAAW,CAAC,GAAG,CAAE,EAACxD,EAAE,KAAK,gBAAgB,WAAW,CAAC,GAAG,CAAA,EAAG,GAAGN,GAAG,CAACA,EAAE,CAAC,GAAGD,EAAE,KAAK,UAAU,SAASE,EAAE,WAAW,CAAE,CAAA,EAAE,CAAC,QAAQ,KAAK,OAAO,QAAQ,UAAU,KAAK,OAAO,UAAU,oBAAoB,KAAK,OAAO,oBAAoB,WAAWuC,EAAG,WAAW,CAAC,EAAE,MAAM,GAAG,KAAK,MAAM,eAAe,CAAC,CAAC,GAAGzC,EAAE,SAASE,CAAC,EAAE,GAAGK,EAAE,GAAGwD,CAAC,CAAC,EAAmB,KAAK,aAAtB,eAAiC,KAAK,YAAY3D,EAAY,KAAK,aAAf,UAA4B,KAAK,YAAYA,EAAE,IAAI,CAAC,CAAC,MAAM4G,WAAWrC,CAAE,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,OAAO,OAAO,KAAK,gBAAgB,OAAO,KAAK,UAAU,OAAO,KAAK,aAAa,OAAO,KAAK,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,aAAa,MAAM,CAAC,MAAM,EAAE1E,EAAEC,EAAE,CAAC,MAAMC,EAAE,KAAK,MAAM,gBAAgBF,CAAC,EAAE,GAAeE,EAAE,OAAd,WAAmCA,EAAE,OAAjB,aAAsB,OAAO,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAEE,EAAE,CAAC,KAAK,UAAU,SAASF,EAAE,WAAW,CAAE,CAAA,EAAE,IAAIG,EAAE,MAAMyD,EAAE+C,GAAGzG,CAAC,EAAE,GAAoB,KAAK,OAAO,aAA7B,eAAwC,CAAC,MAAMN,EAAE2D,EAAG,EAAE,IAAI,EAAE,GAAG,EAAEpD,EAAEN,EAAE+D,EAAEhE,CAAC,CAAC,KAAK,CAAC,GAAa,KAAK,OAAO,aAAtB,QAAiC,MAAM,IAAI,MAAM,oBAAoB,EAAEO,EAAE4C,EAAG0D,GAAG,CAAC,KAAK,UAAU,SAASzG,EAAE,WAAW,CAAA,CAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,aAAa,OAAO,KAAK,KAAK,aAAaG,GAAG,MAAMC,EAAE,GAAG,KAAK,aAAaD,GAAGA,EAAE,GAAoB,KAAK,OAAO,aAA7B,eAAwC,CAAC,KAAK,CAAC,IAAIR,EAAE,IAAIC,CAAC,EAAE4D,EAAGI,EAAE,EAAEA,EAAE,CAAC,GAAG,SAASjE,EAAEC,EAAEC,EAAE,CAAC,GAAOD,IAAJ,EAAM,OAAOD,EAAE,MAAMG,GAAeH,EAAE,SAAS,OAAvB,UAA4BA,EAAE,SAAS,YAAY,CAAC,EAAEA,EAAE,SAAS,aAAa,IAAI,CAAC,CAACA,EAAEC,CAAC,IAAI2D,EAAG5D,EAAEC,CAAC,CAAC,EAAEG,EAAEwD,EAAG1D,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,EAAEG,EAAEF,EAAE,IAAIH,IAAI,CAAC,EAAEI,EAAE,GAAGJ,EAAE,EAAEI,EAAE,GAAGH,EAAE,EAAEG,EAAE,GAAGJ,EAAE,EAAEI,EAAE,GAAGH,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,EAAED,EAAE,EAAEC,CAAC,IAAI,CAAC4D,EAAG7D,EAAEC,CAAC,EAAE,IAAI4D,EAAG7D,EAAEC,CAAC,EAAE,GAAG,CAAC,EAAcD,EAAE,SAAS,OAAvB,UAA4BA,EAAE,SAAS,YAAY,CAAC,EAAEK,EAAEL,EAAE,SAAS,YAAYK,CAAC,GAAEE,EAAEE,EAAE,CAACT,EAAEC,CAAC,CAAC,CAAC,MAAe,KAAK,OAAO,aAAtB,SAAkC,SAASD,EAAEC,EAAEC,EAAEC,EAAE,KAAK,CAAKF,IAAJ,IAAoBD,EAAE,SAAS,OAAvB,UAA4BA,EAAE,SAAS,YAAY,CAAC,EAAEA,EAAE,SAAS,aAAa,QAAQA,GAAG,CAAC,MAAMI,EAAE2G,GAAG7G,EAAEF,CAAC,EAAEK,EAAE6F,GAAGhG,EAAEF,CAAC,EAAEM,EAAE6F,GAAGjG,EAAEE,EAAEH,EAAEI,CAAC,EAAQF,IAAN,KAAgBA,IAAP,OAAWH,EAAE,CAAC,EAAEM,EAAE,CAAC,GAASH,IAAN,KAAgBA,IAAP,OAAWH,EAAE,CAAC,EAAEM,EAAE,CAAC,EAAE,CAAC,CAAC,EAAEC,EAAEE,EAAEqG,GAAGvG,CAAC,CAAC,EAAE,MAAM2D,EAAc7D,EAAE,OAAd,UAAmBA,EAAE,YAAY,CAAC,EAAEA,EAAE,YAAY6D,EAAE,QAAQlE,GAAG,CAACA,EAAE,CAAC,EAAEC,EAAED,EAAE,CAAC,EAAE,KAAK,mBAAmB,EAAEA,EAAE,CAAC,EAAEC,EAAED,EAAE,CAAC,EAAE,KAAK,mBAAmB,CAAC,CAAC,EAAE,MAAMoE,EAAE,KAAK,UAAU,WAAWF,CAAC,GAAG,CAAA,EAAGG,EAAE,KAAK,gBAAgB,WAAWH,CAAC,GAAG,CAAE,EAAC,GAAG9D,GAAG,CAACA,EAAE,CAAC,GAAGD,EAAE,KAAK,UAAU,SAASE,EAAE,WAAW,CAAA,CAAE,EAAE,CAAC,QAAQ,KAAK,OAAO,QAAQ,UAAU,KAAK,OAAO,UAAU,oBAAoB,KAAK,OAAO,oBAAoB,WAAWsC,EAAG,WAAW,CAAC,EAAE,MAAM,GAAG,KAAK,MAAM,eAAe,CAAC,CAAC,GAAGxC,EAAE,SAASE,CAAC,EAAE,GAAGgE,EAAE,GAAGD,CAAC,CAAC,EAAE,KAAK,aAAa5D,CAAC,CAAC,CAAC,MAAM2G,WAAWtC,CAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,OAAO,OAAO,KAAK,cAAc,OAAO,KAAK,gBAAgB,OAAO,KAAK,UAAU,OAAO,KAAK,aAAa,KAAK,KAAK,kBAAkB,CAAC,GAAG,KAAK,MAAM,EAAE,EAAE,KAAK,gBAAgB,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAE,KAAK,UAAU,CAAC,CAAC,qBAAqB,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAS,MAAM,GAAG,0BAA0B,EAAE,EAAE,IAAI,EAAE,GAAkB,EAAE,OAAjB,aAAsB,EAAE,EAAE,gBAAgB,CAAC,GAAe,EAAE,OAAd,UAAmB,OAAO,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQzE,EAAE,EAAEA,EAAE,EAAE,OAAOA,IAAI,CAAC,MAAM,EAAE,KAAK,cAAc,QAAQ,EAAE,EAAEA,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,iBAAiB,EAAE,EAAE,KAAK,CAAC,MAAMJ,EAAc,EAAE,OAAd,YAAqBI,IAAI,EAAE,OAAO,GAAOA,IAAJ,GAAO,EAAE,KAAK,EAAE,EAAE,MAAMJ,EAAE,EAAEI,EAAE,EAAE,0BAA0BJ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,uBAAuB,EAAE,EAAE,EAAE,CAAC,OAAO,EAAC,CAAE,IAAK,GAAE,GAAG,GAAG,GAAG,GAAG,EAAE,MAAM,GAAG,MAAM,IAAK,GAAE,GAAG,GAAG,EAAE,MAAM,GAAG,MAAM,IAAK,GAAE,GAAG,GAAG,GAAG,GAAG,EAAE,MAAM,GAAG,MAAM,IAAK,GAAE,GAAG,GAAG,EAAE,MAAM,GAAG,MAAM,IAAK,GAAE,GAAG,GAAG,GAAG,GAAG,EAAE,MAAM,GAAG,MAAM,IAAK,GAAE,GAAG,GAAG,EAAE,MAAM,GAAG,MAAM,IAAK,GAAE,GAAG,GAAG,GAAG,GAAG,EAAE,MAAM,GAAG,MAAM,IAAK,GAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,mCAAmC,CAAC,GAAG,CAAC,KAAK,kBAAkB,IAAS,KAAK,kBAAkB,QAA5B,GAAkC,OAAO,KAAK,MAAM,EAAE,KAAK,WAAW,KAAK,kBAAkB,EAAE,EAAE,GAAG,CAAC,EAAE,OAAO,KAAK,MAAM,EAAE,KAAK,yBAAyB,EAAE,QAAQ,EAAE,MAAM,CAAC,YAAY,KAAK,mBAAmB,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,mBAAmB,EAAE,KAAK,kBAAkB,KAAK,CAAC,CAAC,CAAC,sBAAsB,EAAE,CAAC,MAAM,EAAE,KAAK,kCAAmC,EAAC,GAAG,CAAC,EAAE,OAAO,KAAK,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,cAAcI,EAAE,mBAAmB,CAAC,EAAE,EAAEE,EAAE0G,GAAG,CAAC,EAAE,GAAG,CAAC1G,EAAE,OAAO,KAAK,MAAMC,EAAEqD,EAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,iBAAiBpD,CAAC,EAAE,KAAK,sBAAsB,EAAED,CAAC,EAAE,EAAEqD,EAAG,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,KAAK,iBAAiB,CAAC,iBAAiBpD,EAAE,cAAcJ,EAAE,kBAAkB,EAAE,oBAAoBG,EAAE,kBAAkBD,CAAC,CAAC,EAAEF,CAAC,CAAC,2BAA2B,EAAE,CAAC,MAAM,EAAE,KAAK,kCAAiC,EAAG,GAAG,CAAC,EAAE,OAAO,KAAK,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,cAAcA,EAAE,mBAAmB,CAAC,EAAE,EAAEE,EAAE0G,GAAG,CAAC,EAAE,GAAG,CAAC1G,EAAE,OAAO,KAAK,MAAMC,EAAEqD,EAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,iBAAiBpD,CAAC,EAAE,KAAK,sBAAsB,EAAED,CAAC,EAAE,EAAEqD,EAAG,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,KAAK,sBAAsB,CAAC,iBAAiBpD,EAAE,cAAcJ,EAAE,kBAAkB,EAAE,oBAAoBG,EAAE,kBAAkBD,CAAC,CAAC,EAAEF,CAAC,CAAC,sBAAsB,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,oBAAoBD,EAAE,kBAAkBC,EAAE,cAAcC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,uBAAuB,EAAE,EAAE,EAAED,EAAE,EAAE,EAAE,EAAEA,EAAE,CAAC,EAAE,OAAO,KAAK,IAAIE,EAAEJ,EAAE,EAAEE,CAAC,EAAEF,EAAE,EAAEC,CAAC,EAAE,OAAOG,EAAE,IAAIA,EAAE,KAAK,cAAc,KAAK,wBAAwBD,EAAE,EAAE,EAAE,EAAE,EAAEC,EAAEA,CAAC,EAAED,CAAC,CAAC,6BAA6B,EAAE,CAAC,MAAM,EAAE,KAAK,kCAAmC,EAAC,GAAG,CAAC,EAAE,OAAO,KAAK,KAAK,CAAC,YAAY,EAAE,cAAc,EAAE,mBAAmBD,CAAC,EAAE,EAAE,EAAEwD,EAAGxD,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,EAAE,CAAC,kBAAkBE,EAAE,iBAAiBC,CAAC,EAAE,KAAK,sBAAsB,EAAE,CAAC,EAAEC,EAAE,CAAC,EAAE,EAAEF,CAAC,EAAE,CAAC,EAAE,EAAE,EAAEA,CAAC,EAAE,CAAC,CAAC,EAAE,EAAEsD,EAAG,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,KAAK,sBAAsB,CAAC,iBAAiBrD,EAAE,cAAc,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,kBAAkBC,CAAC,CAAC,EAAE,CAAC,CAAC,wBAAwB,EAAE,CAAC,MAAM,EAAE,KAAK,kCAAmC,EAAC,GAAG,CAAC,EAAE,OAAO,KAAK,KAAK,CAAC,YAAY,EAAE,cAAc,EAAE,mBAAmBJ,CAAC,EAAE,EAAE,EAAEwD,EAAGxD,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,EAAE,CAAC,kBAAkBE,EAAE,iBAAiBC,CAAC,EAAE,KAAK,sBAAsB,EAAE,CAAC,EAAEC,EAAE,CAAC,EAAE,EAAEF,CAAC,EAAE,CAAC,EAAE,EAAE,EAAEA,CAAC,EAAE,CAAC,CAAC,EAAE,EAAEsD,EAAG,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,KAAK,iBAAiB,CAAC,iBAAiBrD,EAAE,cAAc,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,kBAAkBC,CAAC,CAAC,EAAE,CAAC,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,cAAcJ,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,EAAEE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,KAAK,uBAAuB,EAAE,EAAEA,CAAC,EAAE,OAAO,KAAK,IAAIC,EAAE,EAAM,IAAJ,GAAW,IAAJ,GAAW,IAAJ,IAAQA,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,IAAIC,EAAE,EAAE,OAAWF,IAAJ,GAAW,IAAJ,GAAW,IAAJ,IAAQE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAEF,GAAGA,GAAG,KAAK,cAAcC,EAAEC,CAAC,GAAGD,EAAE,IAAIA,EAAE,KAAK,cAAcC,EAAE,IAAIA,EAAE,KAAK,cAAc,KAAK,wBAAwBJ,EAAE,EAAE,EAAE,EAAE,EAAEG,EAAEC,CAAC,EAAEJ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,GAAU,KAAK,kBAAkB,KAA9B,KAAiC,OAAO,KAAK,MAAM,EAAE,KAAK,MAAM,gBAAgB,CAAC,EAAE,OAAkB,EAAE,OAAd,WAAmC,EAAE,OAAjB,aAAsB,KAAK,CAAC,KAAK,UAAU,SAAS,EAAE,WAAW,CAAA,CAAE,CAAC,CAAC,yBAAyB,EAAE,CAAC,OAAkB,EAAE,OAAd,UAAmB,EAAE,YAAY,CAAC,EAAE,EAAE,WAAW,CAAC,cAAc,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,iBAAiB,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,iBAAiB,OAAO,GAAG,CAAC,CAAC,wBAAwB,EAAE,EAAE,EAAE,EAAEA,EAAE,CAAC,EAAE,QAAQJ,GAAG,CAAC,KAAK,CAAC,EAAEK,EAAE,EAAEC,CAAC,EAAEsD,EAAG5D,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,EAAEO,EAAE,GAAGF,EAAE,GAAG,EAAEG,EAAE,GAAGF,EAAE,GAAGF,EAAE,CAAC,IAAI6D,EAAE,IAAIxD,CAAC,EAAEoD,EAAGtD,EAAEC,CAAC,EAAER,EAAE,CAAC,EAAEiE,EAAEjE,EAAE,CAAC,EAAES,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,MAAM,EAAE,CAAC,IAAS,IAAS,KAAU,IAAS,GAAG,EAAE,EAAE,IAAIT,GAAG,CAAC,KAAK,CAAC,EAAEC,EAAE,EAAEC,CAAC,EAAE0D,EAAG5D,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,EAAE,MAAM,CAACC,EAAEC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAACF,EAAEE,CAAC,IAAI,CAACF,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAEA,GAAGE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAEA,GAAGF,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAEA,GAAGE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,EAAEE,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAEA,GAAG,EAAE,CAAC,EAAE,CAACA,EAAE,CAAC,EAAE,CAACA,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAACA,EAAE,CAAC,EAAE,EAAE,EAAEA,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB,EAAE,EAAE,CAAC,IAAID,EAAEC,EAAE,IAAS,QAAQC,EAAE,EAAEA,EAAE,EAAE,OAAOA,IAAI,CAAC,MAAMC,EAAEJ,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAEG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAEA,CAAC,EAAE,CAAC,CAAC,CAAC,EAAEC,EAAEF,IAAID,EAAEE,EAAED,EAAEE,EAAE,CAAC,GAAYH,IAAT,OAAW,MAAM,IAAI,MAAM,6BAA6B,EAAE,MAAM,CAAC,kBAAkB,KAAK,gBAAgB,SAASA,CAAC,EAAE,iBAAiBA,CAAC,CAAC,CAAC,YAAY,CAAC,OAAc,KAAK,kBAAkB,KAA9B,IAAgC,CAAC,cAAc,EAAE,EAAE,CAAC,KAAK,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,kBAAkB,CAAC,GAAG,KAAK,MAAM,EAAE,CAAC,CAAC,kBAAkB,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,MAAM,gBAAgB,CAAC,EAAE,EAAE,KAAK,qBAAqB,EAAE,CAAC,EAAE,OAAW,EAAE,QAAP,GAAa,GAAG,EAAE,KAAK,CAAC,KAAK,EAAED,EAAEC,EAAE,CAAC,GAAG,CAAC,KAAK,kBAAkB,GAAG,MAAM,GAAG,MAAMC,EAAE,KAAK,WAAW,KAAK,kBAAkB,EAAE,EAAE,GAAG,CAACA,EAAE,MAAM,GAAG,IAAIC,EAAE,KAAK,GAAcH,IAAX,SAAaG,EAAE,KAAK,sBAAsB,CAAC,EAAeH,IAAb,WAAeG,EAAE,KAAK,wBAAwB,CAAC,EAAmBH,IAAjB,eAAmBG,EAAE,KAAK,2BAA2B,CAAC,EAAqBH,IAAnB,mBAAuBG,EAAE,KAAK,6BAA6B,CAAC,GAAG,CAACA,EAAE,MAAM,GAAG,QAAQL,EAAE,EAAEA,EAAEK,EAAE,OAAOL,IAAI,CAAC,MAAME,EAAEG,EAAEL,CAAC,EAAE,GAAGE,EAAE,CAAC,EAAED,EAAEC,EAAE,CAAC,EAAE,KAAK,mBAAmB,EAAEA,EAAE,CAAC,EAAED,EAAEC,EAAE,CAAC,EAAE,KAAK,mBAAmB,EAAE,CAACoE,GAAGpE,EAAE,KAAK,mBAAmB,EAAE,MAAM,EAAE,CAAC,MAAMI,EAAE,KAAK,UAAU,WAAWD,CAAC,GAAG,CAAA,EAAG,EAAE,KAAK,gBAAgB,WAAWA,CAAC,GAAG,CAAE,EAAC,EAAE,CAAC,KAAKD,EAAE,SAAS,KAAK,YAAwBA,EAAE,SAAS,OAAvB,UAA4B,CAACC,CAAC,EAAEA,CAAC,EAAE,MAAM,EAAEF,GAAG,CAACA,EAAE,CAAC,GAAG,KAAK,kBAAkB,GAAG,KAAK,UAAU,SAAS,EAAE,WAAW,CAAA,CAAE,EAAE,CAAC,QAAQ,KAAK,OAAO,QAAQ,UAAU,KAAK,OAAO,UAAU,oBAAoB,KAAK,OAAO,oBAAoB,WAAWwC,EAAG,WAAW,CAAC,IAAI,KAAK,MAAM,eAAe,CAAC,CAAC,GAAG,KAAK,kBAAkB,GAAG,SAAS,CAAC,EAAE,GAAG,EAAE,GAAGrC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,MAAM8G,WAAWjE,EAAE,CAAC,YAAYlD,EAAE,CAAC,IAAIC,EAAE,MAAMD,CAAC,EAAE,KAAK,KAAK,SAAS,KAAK,uBAAuB,GAAG,KAAK,kBAAkB,EAAE,KAAK,eAAe,EAAE,KAAK,SAAS,GAAG,KAAK,MAAM,OAAO,KAAK,UAAU,OAAO,KAAK,gBAAgB,OAAO,KAAK,UAAU,OAAO,KAAK,qBAAqB,OAAO,KAAK,cAAc,OAAO,KAAK,iBAAiB,OAAO,KAAK,YAAY,OAAO,KAAK,eAAe,OAAO,KAAK,cAAc,OAAO,KAAK,aAAa,OAAO,KAAK,4BAA4B,OAAO,KAAK,QAAQ,OAAO,KAAK,YAAY,CAAA,EAAG,KAAK,MAAMA,GAAGA,EAAE,MAAMA,EAAE,MAAM,CAAA,EAAG,MAAME,EAAE,CAAC,YAAY,OAAO,UAAU,OAAO,QAAQ,OAAO,eAAe,WAAW,EAAE,GAAG,KAAK,QAAQF,GAAGA,EAAE,QAAQD,EAAE,CAAA,EAAGG,EAAEF,EAAE,OAAO,EAAEE,GAAgBF,GAAN,KAAQ,OAAOA,EAAE,aAAzB,KAAoC,KAAK,UAAU,CAAC,SAAS,KAAK,OAAO,KAAK,OAAO,KAAK,MAAM,IAAI,MAAM,CAAC,MAAMC,EAAE,CAAC,SAAS,SAAS,OAAO,SAAS,OAAO,CAAC,UAAU,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,CAAC,EAAE,KAAK,UAAUD,GAAGA,EAAE,UAAUD,EAAE,CAAA,EAAGE,EAAED,EAAE,SAAS,EAAEC,CAAC,CAAC,GAAG,KAAK,kBAAkBD,GAAYA,EAAE,oBAAX,QAA8BA,EAAE,mBAAmB,EAAE,KAAK,wBAA8BC,EAAQD,GAAN,KAAQ,OAAOA,EAAE,yBAA1B,MAAmDC,EAAED,GAAGA,EAAE,OAAOA,EAAE,MAAM,UAAUD,KAAKC,EAAE,MAAM,CAAC,MAAMC,EAAED,EAAE,MAAMD,CAAC,EAAE,QAAQE,GAAGA,EAAE,aAAa,KAAK,YAAYF,CAAC,EAAEE,EAAE,WAAW,CAAC,CAAC,cAAc,EAAE,CAAC,KAAK,OAAO,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,GAAe,KAAK,SAAjB,UAAwB,MAAM,IAAI,MAAM,iDAAiD,EAAE,KAAK,OAAO,WAAW,CAAC,kBAAkB,EAAE,CAAC,KAAK,cAAc,IAAI8E,GAAG,CAAC,EAAE,KAAK,iBAAiB,IAAID,GAAG,CAAC,EAAE,KAAK,qBAAqB,IAAI4B,GAAG,EAAE,KAAK,iBAAiB,KAAK,aAAa,EAAE,KAAK,gBAAgB,IAAIH,GAAG,CAAC,EAAE,KAAK,UAAU,IAAID,GAAG,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,IAAIU,GAAG,EAAE,KAAK,gBAAgB,KAAK,SAAS,EAAE,KAAK,aAAa,IAAIC,GAAG,EAAE,KAAK,gBAAgB,KAAK,SAAS,EAAE,KAAK,YAAY,IAAIN,GAAG,EAAE,KAAK,qBAAqB,KAAK,gBAAgB,KAAK,SAAS,EAAE,KAAK,eAAe,IAAIC,GAAG,EAAE,KAAK,cAAc,KAAK,gBAAgB,KAAK,SAAS,EAAE,KAAK,4BAA4B,IAAIM,GAAG,EAAE,KAAK,cAAc,KAAK,gBAAgB,KAAK,SAAS,CAAC,CAAC,iBAAiB,CAAC,KAAK,SAAQ,CAAE,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,SAAS,OAAOnH,GAAG,KAAK,MAAM,IAAIA,CAAC,CAAC,EAAE,IAAIA,IAAI,CAAC,GAAGA,EAAE,SAAS4C,GAAG,MAAM,EAAE,EAAE,EAAE,KAAK,MAAM,eAAe,CAAC,EAAE,KAAK,WAAW,KAAK,SAAS,CAAC,CAAC,EAAE,KAAK,SAAS,GAAG,KAAK,gBAAgB,OAAQ,EAAC,KAAK,UAAU,QAAQ,CAAC,gBAAgB,CAAC,KAAK,MAAM,OAAO,KAAK,QAAQ,EAAE,KAAK,SAAS,CAAE,CAAA,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,KAAK,gBAAgB,IAAI,OAAO,OAAO,IAAI,EAAE,EAAE,IAAS,GAAG,KAAK,gBAAgB,IAAI,QAAQzC,GAAG,CAAC,MAAMC,EAAE,KAAK,MAAM,gBAAgBD,CAAC,EAAEE,EAAE,KAAK,cAAc,QAAQ,EAAED,EAAE,WAAW,EAAEC,EAAE,KAAK,iBAAiBA,EAAE,IAAI,EAAEA,EAAE,EAAE,KAAK,MAAM,kBAAkBF,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,MAAM,EAAE,EAAE,wBAAwBC,EAAE,EAAE,MAAM,EAAE,KAAK,MAAM,kBAAkB,CAAC,EAAEE,EAAE,KAAK,MAAM,EAAE,IAAI,EAAEC,EAAE,KAAK,YAAY,EAAE,IAAI,EAAE,GAAG,EAAED,GAAGA,EAAE,SAASA,EAAE,QAAQ,aAAaA,EAAE,QAAQ,YAAY,WAAW,OAAO,MAAME,EAAE,KAAK,MAAM,gBAAgB,CAAC,EAAE,IAAI,EAAE,GAAeA,EAAE,OAAd,WAAoB,GAAG,EAAEA,EAAE,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,eAA8BA,EAAE,OAAjB,eAAwB,EAAEA,EAAE,YAAY,EAAE,QAAQ,GAAG,OAAO,GAAG,EAAE,CAAC,GAAeA,EAAE,OAAd,WAAwBJ,IAAJ,GAAOA,IAAI,EAAE,OAAO,GAAG,EAAE,MAAK,EAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,OAAOA,EAAE,CAAC,EAAEG,GAAG,CAACA,EAAE,CAAC,GAAG,EAAE,KAAK,UAAU,SAASC,EAAE,WAAW,CAAC,EAAE,CAAC,QAAQ,KAAK,QAAQ,UAAU,KAAK,UAAU,oBAAoB,KAAK,oBAAoB,WAAWmC,EAAG,MAAM,CAAC,EAAE,OAAO,KAAK,MAAM,OAAO,CAAC,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,gBAAgB,GAAG,CAAC,EAAE,KAAK,MAAM,eAAe,CAAC,CAAC,GAAG,EAAE,SAASnC,CAAC,CAAC,CAAC,EAAE,KAAK,gBAAgB,OAAO,EAAEA,EAAE,KAAK,CAAC,EAAEF,GAAGA,EAAE,SAASA,EAAE,QAAQ,aAAaA,EAAE,QAAQ,YAAY,WAAW,KAAK,UAAU,OAAO,EAAE,EAAE,KAAK,mBAAmB,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,IAAI,EAAE,OAAO,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,kBAAkB,CAAC,EAAE,EAAE,KAAK,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,QAAQ,OAAO,MAAMF,EAAE,KAAK,SAAS,CAAC,EAAE,GAAGA,EAAE,CAAC,GAAGA,IAAI,EAAE,OAAO,KAAK,UAAU,CAAC,GAAG,KAAK,UAAU,KAAK,QAAQ,WAAW,EAAE,KAAK,SAAS,CAAC,CAAC,EAAE,KAAK,MAAM,eAAe,CAAC,CAAC,GAAG,EAAE,SAAS,WAAW,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,YAAYE,CAAC,EAAE,KAAK,MAAM,gBAAgB,CAAC,EAAE,GAAkB,IAAf,cAA8B,IAAZ,UAAc,OAAO,MAAMC,EAAiB,IAAf,aAAiBD,EAAEA,EAAE,CAAC,EAAEC,GAAG,GAAG,EAAE,QAAQ,cAAc,KAAK,gBAAgB,OAAOA,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,YAAY,WAAW,KAAK,UAAU,OAAOA,EAAE,EAAE,KAAK,mBAAmB,EAAE,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,eAAe,EAAE,gBAAgB,CAAC,EAAE,KAAK,qBAAqB,KAAK,EAAE,KAAK,SAAS,OAAO,CAAC,EAAE,GAAG,KAAK,SAAS,QAAQ,EAAE,KAAK,UAAU,OAAO,EAAE,GAAG,KAAK,mBAAmB,UAAU,GAAG,EAAE,GAAG,KAAK,OAAO,EAAE,GAAG,EAAE,UAAU,KAAK,SAAS,QAAQ,KAAK,uBAAuB,OAAO,KAAK,KAAK,SAAQ,CAAE,CAAC,OAAO,CAAC,KAAK,aAAa,KAAK,aAAc,CAAA,CAAC,MAAM,CAAC,KAAK,QAAO,EAAG,KAAK,WAAU,EAAG,KAAK,WAAU,CAAE,CAAC,QAAQ,EAAE,CAAW,EAAE,SAAZ,QAA4B,EAAE,SAAX,QAAmB,KAAK,YAAY,CAAC,EAAE,KAAK,aAAa,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,OAAO,KAAK,UAAU,OAAO,KAAK,UAAU,MAAM,MAAM,GAAG,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,OAAO,KAAK,UAAU,QAAQ,KAAK,UAAU,OAAO,MAAM,GAAG,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,uBAAuB,EAAE,CAAC,MAAM,EAAE,KAAK,UAAU,CAAC,EAAE,EAAE,KAAK,SAAS,CAAC,GAAG,GAAG,IAAI,EAAE,gBAAgB,CAAC,UAAU,EAAE,CAAC,KAAK,uBAAuB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,KAAK,uBAAuB,CAAC,EAAE,KAAK,UAAU,QAAQ,EAAE,MAAM,KAAK,UAAU,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,OAAO,OAAO,KAAK,WAAW,KAAK,SAAS,CAAC,CAAC,EAAE,KAAK,eAAc,EAAG,KAAK,gBAAgB,OAAM,EAAG,KAAK,UAAU,OAAM,CAAE,MAAM,KAAK,UAAU,UAAU,EAAE,MAAM,KAAK,UAAU,UAAU,KAAK,SAAS,CAAC,SAAS,CAAC,KAAK,SAAS,QAAQ,KAAK,SAAQ,CAAE,CAAC,YAAY,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,SAAS,OAAO,OAAO,MAAM,EAAE,KAAK,MAAM,kBAAkB,KAAK,SAAS,CAAC,CAAC,EAAE,EAAE,KAAK,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,WAAW,EAAE,QAAQ,aAAa,EAAE,QAAQ,YAAY,WAAW,EAAE,QAAQ,aAAa,EAAE,QAAQ,YAAY,YAAY,OAAO,KAAK,eAAe,EAAE,MAAMH,EAAE,KAAK,SAAS,CAAC,EAAE,EAAE,KAAK,eAAe,kBAAkB,EAAEA,CAAC,EAAE,OAAO,GAAG,EAAE,SAAS,EAAE,QAAQ,cAAc,EAAE,QAAQ,YAAY,WAAW,EAAE,QAAQ,YAAY,YAAiB,IAAL,IAAQ,KAAK,UAAU,KAAK,QAAQ,SAAS,EAAE,EAAE,QAAQ,YAAY,UAAU,KAAK,4BAA4B,cAAcA,EAAE,CAAC,EAAE,KAAK,eAAe,cAAcA,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,EAAE,SAAS,EAAE,QAAQ,WAAW,KAAK,YAAY,QAAQ,EAAEA,CAAC,GAAG,KAAK,UAAU,KAAK,QAAQ,SAAS,EAAE,KAAK,YAAY,cAAc,EAAEA,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,SAAS,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,MAAM,EAAE,KAAK,MAAM,kBAAkB,CAAC,EAAEA,EAAE,KAAK,MAAM,EAAE,IAAI,EAAE,GAAQA,GAAGA,EAAE,SAASA,EAAE,QAAQ,qBAA9B,GAAiD,GAAG,KAAK,iBAAiB,KAAK,eAAe,KAAK,mBAAmB,EAAE,OAAO,MAAME,EAAE,KAAK,YAAY,EAAE,IAAI,EAAE,GAAGF,GAAGA,EAAE,SAASA,EAAE,QAAQ,YAAY,KAAK,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,KAAK,cAAc,OAAO,EAAE,EAAEE,CAAC,EAAE,GAAGF,GAAGA,EAAE,SAASA,EAAE,QAAQ,WAAW,KAAK,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,KAAK,aAAa,MAAM,EAAE,EAAEE,CAAC,EAAE,GAAG,KAAK,4BAA4B,WAAU,GAAIF,EAAE,SAASA,EAAE,QAAQ,aAAaA,EAAE,QAAQ,YAAY,UAAU,CAAC,GAAa,KAAK,aAAf,QAA0B,MAAM,IAAI,MAAM,yDAAyD,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,KAAK,4BAA4B,KAAK,EAAEA,EAAE,QAAQ,YAAY,UAAUE,CAAC,CAAC,CAAC,KAAK,eAAe,WAAU,EAAG,KAAK,eAAe,KAAK,EAAE,EAAEA,CAAC,EAAE,KAAK,YAAY,WAAY,EAAC,KAAK,YAAY,KAAK,EAAEA,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,UAAU,KAAK,QAAQ,OAAO,EAAE,KAAK,eAAe,WAAU,EAAG,KAAK,SAAS,KAAK,SAAS,CAAC,EAAE,CAAC,KAAK,KAAK,KAAK,OAAO,gBAAgB,CAAC,EAAE,KAAK,YAAY,aAAa,KAAK,SAAS,KAAK,SAAS,CAAC,EAAE,CAAC,KAAK,KAAK,KAAK,OAAO,aAAa,CAAC,EAAE,KAAK,4BAA4B,WAAY,GAAE,KAAK,SAAS,KAAK,SAAS,CAAC,EAAE,CAAC,KAAK,KAAK,KAAK,OAAO,sBAAsB,CAAC,EAAE,KAAK,eAAe,eAAe,KAAK,YAAY,aAAc,EAAC,KAAK,4BAA4B,eAAe,KAAK,cAAc,MAAK,EAAG,KAAK,aAAa,QAAQ,EAAE,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,KAAK,SAAS,OAAO,OAAO,KAAK,KAAK,UAAU,OAAO,EAAE,GAAG,KAAK,YAAY,WAAY,EAAC,OAAO,IAAI,EAAE,GAAG,KAAK,UAAU,IAAI,QAAQJ,GAAG,CAAC,GAAG,EAAE,OAAO,MAAMC,EAAE,KAAK,MAAM,gBAAgBD,CAAC,EAAE,KAAK,cAAc,QAAQ,EAAEC,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,GAAG,KAAK,gBAAgB,IAAI,QAAQA,GAAG,CAAC,MAAMC,EAAE,KAAK,MAAM,gBAAgBD,CAAC,EAAE,KAAK,cAAc,QAAQ,EAAEC,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,OAAO,KAAK,KAAK,UAAU,KAAK,QAAQ,cAAc,EAAE,KAAK,CAAC,eAAe,CAAC,EAAE,KAAK,qBAAqB,KAAK,EAAE,EAAE,EAAE,KAAK,UAAU,KAAK,SAAS,OAAO,IAAI,GAAG,EAAE,KAAK,KAAK,SAAS,CAAC,GAAG,GAAG,KAAK,QAAQ,YAAY,OAAO,CAAC,CAAC,aAAaH,EAAE,CAAC,MAAMC,EAAEF,EAAE,GAAG,CAAC,iBAAiB,UAAU,oBAAoB,UAAU,oBAAoB,EAAE,mBAAmB,GAAG,WAAW,UAAU,kBAAkB,UAAU,kBAAkB,EAAE,WAAW,EAAE,gBAAgB,UAAU,gBAAgB,EAAE,OAAO,CAAC,CAAC,EAAE,GAAGC,EAAE,WAAW,OAAO,KAAK,MAAgBA,EAAE,SAAS,OAArB,QAA0B,CAAC,GAAGA,EAAE,WAAW,eAAe,OAAOC,EAAE,WAAW,KAAK,wBAAwB,KAAK,OAAO,oBAAoBA,EAAE,WAAWD,CAAC,EAAEC,EAAE,kBAAkB,KAAK,wBAAwB,KAAK,OAAO,2BAA2BA,EAAE,kBAAkBD,CAAC,EAAEC,EAAE,WAAW,KAAK,uBAAuB,KAAK,OAAO,oBAAoBA,EAAE,WAAWD,CAAC,EAAEC,EAAE,kBAAkB,KAAK,uBAAuB,KAAK,OAAO,2BAA2B,EAAED,CAAC,EAAEC,EAAE,OAAO,GAAGA,EAAE,GAAGD,EAAE,WAAW,SAAS,OAAOC,EAAE,WAAW,KAAK,wBAAwB,KAAK,OAAO,cAAcA,EAAE,WAAWD,CAAC,EAAEC,EAAE,kBAAkB,KAAK,wBAAwB,KAAK,OAAO,qBAAqBA,EAAE,kBAAkBD,CAAC,EAAEC,EAAE,WAAW,KAAK,uBAAuB,KAAK,OAAO,cAAc,EAAED,CAAC,EAAEC,EAAE,kBAAkB,KAAK,uBAAuB,KAAK,OAAO,qBAAqB,EAAED,CAAC,EAAEC,EAAE,OAAO,GAAGA,CAAC,SAASD,EAAE,WAAW2C,EAAE,EAAE,CAAC,GAAe3C,EAAE,SAAS,OAAvB,UAA4B,OAAOC,EAAE,iBAAiB,KAAK,wBAAwB,KAAK,OAAO,qBAAqBA,EAAE,iBAAiBD,CAAC,EAAEC,EAAE,oBAAoB,KAAK,uBAAuB,KAAK,OAAO,4BAA4BA,EAAE,oBAAoBD,CAAC,EAAEC,EAAE,oBAAoB,KAAK,wBAAwB,KAAK,OAAO,4BAA4BA,EAAE,oBAAoBD,CAAC,EAAEC,EAAE,mBAAmB,KAAK,uBAAuB,KAAK,OAAO,2BAA2BA,EAAE,mBAAmBD,CAAC,EAAEC,EAAE,OAAO,GAAGA,EAAE,GAAkBD,EAAE,SAAS,OAA1B,aAA+B,OAAOC,EAAE,gBAAgB,KAAK,wBAAwB,KAAK,OAAO,wBAAwBA,EAAE,gBAAgBD,CAAC,EAAEC,EAAE,gBAAgB,KAAK,uBAAuB,KAAK,OAAO,wBAAwBA,EAAE,gBAAgBD,CAAC,EAAEC,EAAE,OAAO,GAAGA,EAAE,GAAaD,EAAE,SAAS,OAArB,QAA0B,OAAOC,EAAE,WAAW,KAAK,uBAAuB,KAAK,OAAO,mBAAmBA,EAAE,WAAWD,CAAC,EAAEC,EAAE,WAAW,KAAK,wBAAwB,KAAK,OAAO,mBAAmBA,EAAE,WAAWD,CAAC,EAAEC,EAAE,kBAAkB,KAAK,wBAAwB,KAAK,OAAO,0BAA0BA,EAAE,kBAAkBD,CAAC,EAAEC,EAAE,kBAAkB,KAAK,uBAAuB,KAAK,OAAO,0BAA0BA,EAAE,kBAAkBD,CAAC,EAAEC,EAAE,OAAO,GAAGA,CAAC,CAAC,OAAOA,CAAC,CAAC,CAAC,MAAMmH,WAAWnE,CAAE,CAAC,eAAe,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,KAAKD,EAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,OAAO,CAAA,CAAE,MAAM,CAAE,CAAA,SAAS,CAAE,CAAA,WAAW,CAAA,CAAE,SAAS,CAAA,CAAE,aAAa,EAAE,QAAQ,CAAE,CAAA,WAAW,CAAA,CAAE,aAAa,EAAE,SAAS,CAAE,CAAA,cAAc,CAAC,OAAOjD,EAAE,GAAG,CAAC,iBAAiB,UAAU,oBAAoB,UAAU,oBAAoB,EAAE,mBAAmB,GAAG,WAAW,UAAU,kBAAkB,UAAU,kBAAkB,EAAE,WAAW,EAAE,gBAAgB,UAAU,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,SAASsH,GAAGtH,EAAEC,EAAEC,EAAEC,EAAEC,EAAE,CAAC,KAAKD,EAAED,GAAG,CAAC,GAAGC,EAAED,EAAE,IAAI,CAAC,MAAMG,EAAEF,EAAED,EAAE,EAAEI,EAAEL,EAAEC,EAAE,EAAEK,EAAE,KAAK,IAAIF,CAAC,EAAEG,EAAE,GAAG,KAAK,IAAI,EAAED,EAAE,CAAC,EAAE0D,EAAE,GAAG,KAAK,KAAK1D,EAAEC,GAAGH,EAAEG,GAAGH,CAAC,GAAGC,EAAED,EAAE,EAAE,EAAE,GAAG,GAAGiH,GAAGtH,EAAEC,EAAE,KAAK,IAAIC,EAAE,KAAK,MAAMD,EAAEK,EAAEE,EAAEH,EAAE4D,CAAC,CAAC,EAAE,KAAK,IAAI9D,EAAE,KAAK,MAAMF,GAAGI,EAAEC,GAAGE,EAAEH,EAAE4D,CAAC,CAAC,EAAE7D,CAAC,CAAC,CAAC,MAAMC,EAAEL,EAAEC,CAAC,EAAE,IAAIK,EAAEJ,EAAE,EAAEC,EAAE,IAAIoH,EAAGvH,EAAEE,EAAED,CAAC,EAAEG,EAAEJ,EAAEG,CAAC,EAAEE,CAAC,EAAE,GAAGkH,EAAGvH,EAAEE,EAAEC,CAAC,EAAEG,EAAE,GAAG,CAAC,IAAIiH,EAAGvH,EAAEM,EAAE,CAAC,EAAEA,IAAI,IAAIF,EAAEJ,EAAEM,CAAC,EAAED,CAAC,EAAE,GAAGC,IAAI,KAAKF,EAAEJ,EAAE,CAAC,EAAEK,CAAC,EAAE,GAAG,GAAG,CAAKD,EAAEJ,EAAEE,CAAC,EAAEG,CAAC,IAAZ,EAAckH,EAAGvH,EAAEE,EAAE,CAAC,GAAG,IAAIqH,EAAGvH,EAAE,EAAEG,CAAC,GAAG,GAAGF,IAAIC,EAAE,EAAE,GAAGD,GAAG,IAAIE,EAAE,EAAE,EAAE,CAAC,CAAC,SAASoH,EAAGvH,EAAEC,EAAEC,EAAE,CAAC,MAAMC,EAAEH,EAAEC,CAAC,EAAED,EAAEC,CAAC,EAAED,EAAEE,CAAC,EAAEF,EAAEE,CAAC,EAAEC,CAAC,CAAC,SAASqH,EAAGxH,EAAEC,EAAE,CAACwH,EAAGzH,EAAE,EAAEA,EAAE,SAAS,OAAOC,EAAED,CAAC,CAAC,CAAC,SAASyH,EAAGzH,EAAEC,EAAEC,EAAEC,EAAEC,EAAE,CAACA,IAAIA,EAAEsH,EAAG,EAAE,GAAGtH,EAAE,KAAK,IAASA,EAAE,KAAK,IAASA,EAAE,KAAK,KAAUA,EAAE,KAAK,KAAU,QAAQC,EAAEJ,EAAEI,EAAEH,EAAEG,IAAI,CAAC,MAAMJ,EAAED,EAAE,SAASK,CAAC,EAAEsH,EAAGvH,EAAEJ,EAAE,KAAKG,EAAEF,CAAC,EAAEA,CAAC,CAAC,CAAC,OAAOG,CAAC,CAAC,SAASuH,EAAG3H,EAAEC,EAAE,CAAC,OAAOD,EAAE,KAAK,KAAK,IAAIA,EAAE,KAAKC,EAAE,IAAI,EAAED,EAAE,KAAK,KAAK,IAAIA,EAAE,KAAKC,EAAE,IAAI,EAAED,EAAE,KAAK,KAAK,IAAIA,EAAE,KAAKC,EAAE,IAAI,EAAED,EAAE,KAAK,KAAK,IAAIA,EAAE,KAAKC,EAAE,IAAI,EAAED,CAAC,CAAC,SAAS4H,GAAG5H,EAAEC,EAAE,CAAC,OAAOD,EAAE,KAAKC,EAAE,IAAI,CAAC,SAAS4H,GAAG7H,EAAEC,EAAE,CAAC,OAAOD,EAAE,KAAKC,EAAE,IAAI,CAAC,SAAS6H,GAAG9H,EAAE,CAAC,OAAOA,EAAE,KAAKA,EAAE,OAAOA,EAAE,KAAKA,EAAE,KAAK,CAAC,SAAS+H,GAAG/H,EAAE,CAAC,OAAOA,EAAE,KAAKA,EAAE,MAAMA,EAAE,KAAKA,EAAE,KAAK,CAAC,SAASgI,GAAGhI,EAAEC,EAAE,CAAC,MAAMC,EAAE,KAAK,IAAIF,EAAE,KAAKC,EAAE,IAAI,EAAEE,EAAE,KAAK,IAAIH,EAAE,KAAKC,EAAE,IAAI,EAAEG,EAAE,KAAK,IAAIJ,EAAE,KAAKC,EAAE,IAAI,EAAEI,EAAE,KAAK,IAAIL,EAAE,KAAKC,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,EAAEG,EAAEF,CAAC,EAAE,KAAK,IAAI,EAAEG,EAAEF,CAAC,CAAC,CAAC,SAAS8H,GAAGjI,EAAEC,EAAE,CAAC,OAAOD,EAAE,MAAMC,EAAE,MAAMD,EAAE,MAAMC,EAAE,MAAMA,EAAE,MAAMD,EAAE,MAAMC,EAAE,MAAMD,EAAE,IAAI,CAAC,SAASkI,GAAGlI,EAAEC,EAAE,CAAC,OAAOA,EAAE,MAAMD,EAAE,MAAMC,EAAE,MAAMD,EAAE,MAAMC,EAAE,MAAMD,EAAE,MAAMC,EAAE,MAAMD,EAAE,IAAI,CAAC,SAAS0H,EAAG1H,EAAE,CAAC,MAAM,CAAC,SAASA,EAAE,OAAO,EAAE,KAAK,GAAG,KAAK,IAAS,KAAK,IAAS,KAAK,KAAU,KAAK,IAAS,CAAC,CAAC,SAASmI,GAAGnI,EAAEC,EAAEC,EAAEC,EAAEC,EAAE,CAAC,MAAMC,EAAE,CAACJ,EAAEC,CAAC,EAAE,KAAKG,EAAE,QAAQ,CAAC,IAAIH,EAAEG,EAAE,IAAK,IAAGJ,EAAEI,EAAE,IAAG,IAAKF,EAAE,SAAS,MAAMG,EAAEL,EAAE,KAAK,MAAMC,EAAED,GAAGE,EAAE,CAAC,EAAEA,EAAEmH,GAAGtH,EAAEM,EAAEL,EAAEC,EAAEE,CAAC,EAAEC,EAAE,KAAKJ,EAAEK,EAAEA,EAAEJ,CAAC,CAAC,CAAC,CAAC,MAAMkI,EAAE,CAAC,YAAY,EAAE,CAAC,KAAK,YAAY,OAAO,KAAK,YAAY,OAAO,KAAK,KAAK,OAAO,KAAK,YAAY,KAAK,IAAI,EAAE,CAAC,EAAE,KAAK,YAAY,KAAK,IAAI,EAAE,KAAK,KAAK,GAAG,KAAK,WAAW,CAAC,EAAE,KAAK,MAAO,CAAA,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,MAAM,EAAE,CAAA,EAAG,GAAG,CAACF,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,OAAO9H,EAAE,CAAE,EAAC,KAAK,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,SAAS,OAAO,IAAI,CAAC,MAAME,EAAE,EAAE,SAAS,CAAC,EAAEC,EAAE,EAAE,KAAK,EAAED,CAAC,EAAEA,EAAE4H,GAAG,EAAE3H,CAAC,IAAI,EAAE,KAAK,EAAE,KAAKD,CAAC,EAAE2H,GAAG,EAAE1H,CAAC,EAAE,KAAK,KAAKD,EAAE,CAAC,EAAEF,EAAE,KAAKE,CAAC,EAAE,CAAC,EAAEF,EAAE,IAAG,CAAE,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,GAAG8H,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAE,EAAC,KAAK,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,SAAS,OAAO,IAAI,CAAC,MAAM9H,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,KAAK,OAAOA,CAAC,EAAEA,EAAE,GAAG8H,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,MAAMD,GAAG,EAAE,CAAC,EAAE,MAAM,GAAG,EAAE,KAAK7H,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAG,CAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,YAAY,CAAC,QAAQH,EAAE,EAAEA,EAAE,EAAE,OAAOA,IAAI,KAAK,OAAO,EAAEA,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,OAAO,EAAE,MAAO,EAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,KAAK,KAAK,SAAS,OAAO,GAAG,KAAK,KAAK,SAAS,EAAE,OAAO,KAAK,WAAW,KAAK,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,KAAK,OAAO,EAAE,OAAO,CAAC,MAAMD,EAAE,KAAK,KAAK,KAAK,KAAK,EAAE,EAAEA,CAAC,CAAC,KAAK,QAAQ,EAAE,KAAK,KAAK,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,KAAK,QAAQ,EAAE,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK0H,EAAG,CAAE,CAAA,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,MAAM,EAAE,KAAK,OAAO,CAAC,EAAE,EAAE,GAAGtH,EAAE,CAAA,EAAG,IAAI,EAAEE,EAAEC,EAAE,GAAG,KAAK,GAAG,EAAE,QAAQ,CAAC,GAAG,IAAI,EAAE,EAAE,IAAK,EAACD,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAEF,EAAE,IAAG,EAAGG,EAAE,IAAI,EAAE,KAAK,CAAC,MAAML,EAAE,EAAE,SAAS,QAAQ,CAAC,EAAOA,IAAL,KAAS,EAAE,SAAS,OAAOA,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK,UAAU,CAAC,EAAE,CAACK,GAAG,EAAE,MAAM,CAAC0H,GAAG,EAAE,CAAC,EAAE3H,GAAG,IAAI,EAAEA,EAAE,SAAS,CAAC,EAAEC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAEH,EAAE,KAAK,CAAC,EAAE,EAAE,EAAEE,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAE,EAAC,KAAK,GAAG,EAAE,KAAK,EAAE,KAAK,GAAG,EAAE,QAAQ,EAAE,EAAE,KAAK,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAK,EAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,MAAMF,EAAE,EAAE,EAAE,EAAE,IAAI,EAAEE,EAAE,KAAK,YAAY,GAAGF,GAAGE,EAAE,OAAO,EAAEoH,EAAG,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAEF,EAAG,EAAE,KAAK,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,KAAK,KAAK,IAAIpH,CAAC,EAAE,KAAK,IAAIE,CAAC,CAAC,EAAEA,EAAE,KAAK,KAAKF,EAAE,KAAK,IAAIE,EAAE,EAAE,CAAC,CAAC,GAAG,EAAEoH,EAAG,CAAA,CAAE,EAAE,EAAE,KAAK,GAAG,EAAE,OAAO,EAAE,MAAMnH,EAAE,KAAK,KAAKH,EAAEE,CAAC,EAAEE,EAAED,EAAE,KAAK,KAAK,KAAK,KAAKD,CAAC,CAAC,EAAE6H,GAAG,EAAE,EAAE,EAAE3H,EAAE,KAAK,WAAW,EAAE,QAAQJ,EAAE,EAAEA,GAAG,EAAEA,GAAGI,EAAE,CAAC,MAAMP,EAAE,KAAK,IAAIG,EAAEI,EAAE,EAAE,CAAC,EAAE2H,GAAG,EAAE/H,EAAEH,EAAEM,EAAE,KAAK,WAAW,EAAE,QAAQL,EAAEE,EAAEF,GAAGD,EAAEC,GAAGK,EAAE,CAAC,MAAMH,EAAE,KAAK,IAAIF,EAAEK,EAAE,EAAEN,CAAC,EAAE,EAAE,SAAS,KAAK,KAAK,OAAO,EAAEC,EAAEE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAOoH,EAAG,EAAE,KAAK,MAAM,EAAE,CAAC,CAAC,eAAe,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,IAAI,GAAG,CAAC,IAAItH,EAAEC,EAAE,IAASG,EAAE,IAAS,QAAQC,EAAE,EAAEA,EAAE,EAAE,SAAS,OAAOA,IAAI,CAAC,MAAMC,EAAE,EAAE,SAASD,CAAC,EAAE0D,EAAE6D,GAAGtH,CAAC,EAAEC,GAAGL,EAAE,EAAE,EAAEI,GAAG,KAAK,IAAI,EAAE,KAAKJ,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,KAAKA,EAAE,IAAI,IAAI,KAAK,IAAI,EAAE,KAAKA,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,KAAKA,EAAE,IAAI,GAAG6D,GAAGxD,EAAEH,GAAGA,EAAEG,EAAEN,EAAE8D,EAAE9D,EAAE8D,EAAE9D,EAAED,EAAEM,GAAGC,IAAIH,GAAG2D,EAAE9D,IAAIA,EAAE8D,EAAE/D,EAAEM,EAAE,CAAC,EAAEN,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,IAAIE,EAAE,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,OAAO,CAAC,EAAEA,EAAE,CAAE,EAAC,EAAE,KAAK,eAAe,EAAE,KAAK,KAAK,EAAEA,CAAC,EAAE,IAAI,EAAE,SAAS,KAAK,CAAC,EAAEuH,EAAG,EAAE,CAAC,EAAE,GAAG,GAAGvH,EAAE,CAAC,EAAE,SAAS,OAAO,KAAK,aAAa,KAAK,OAAOA,EAAE,CAAC,EAAE,IAAI,KAAK,oBAAoB,EAAEA,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,OAAOA,EAAE,KAAK,YAAY,KAAK,iBAAiB,EAAEA,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,kBAAkB,EAAEA,EAAE,CAAC,EAAEE,EAAEoH,EAAG,EAAE,SAAS,OAAO,EAAE,EAAE,SAAS,OAAO,CAAC,CAAC,EAAEpH,EAAE,OAAO,EAAE,OAAOA,EAAE,KAAK,EAAE,KAAKkH,EAAG,EAAE,KAAK,MAAM,EAAEA,EAAGlH,EAAE,KAAK,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS,KAAKA,CAAC,EAAE,KAAK,WAAW,EAAEA,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,KAAK,KAAKoH,EAAG,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,OAAO,EAAE,OAAO,EAAE,KAAK,KAAK,KAAK,GAAGF,EAAG,KAAK,KAAK,KAAK,MAAM,CAAC,CAAC,kBAAkB,EAAE,EAAE,EAAE,CAAC,IAAI,EAAEpH,EAAE,IAAS,EAAE,IAAS,QAAQE,EAAE,EAAEA,GAAG,EAAE,EAAEA,IAAI,CAAC,MAAML,EAAEwH,EAAG,EAAE,EAAEnH,EAAE,KAAK,MAAM,EAAEC,EAAEkH,EAAG,EAAEnH,EAAE,EAAE,KAAK,MAAM,EAAEE,EAAEwH,GAAG/H,EAAEM,CAAC,EAAE0D,EAAE6D,GAAG7H,CAAC,EAAE6H,GAAGvH,CAAC,EAAEC,EAAEJ,GAAGA,EAAEI,EAAE,EAAEF,EAAE,EAAE2D,EAAE,EAAEA,EAAE,GAAGzD,IAAIJ,GAAG6D,EAAE,IAAI,EAAEA,EAAE,EAAE3D,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,iBAAiB,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,KAAK,YAAYsH,GAAGxH,EAAE,EAAE,KAAK,KAAK,YAAYyH,GAAG,KAAK,eAAe,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,eAAe,EAAE,EAAE,EAAEzH,CAAC,GAAG,EAAE,SAAS,KAAK,CAAC,CAAC,CAAC,eAAe,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS,KAAK,CAAC,EAAE,MAAMA,EAAE,KAAK,OAAO,EAAEqH,EAAG,EAAE,EAAE,EAAErH,CAAC,EAAEE,EAAEmH,EAAG,EAAE,EAAE,EAAE,EAAErH,CAAC,EAAE,IAAIG,EAAEwH,GAAG,CAAC,EAAEA,GAAGzH,CAAC,EAAE,QAAQH,EAAE,EAAEA,EAAE,EAAE,EAAEA,IAAI,CAAC,MAAMF,EAAE,EAAE,SAASE,CAAC,EAAEwH,EAAG,EAAE,EAAE,KAAKvH,EAAEH,CAAC,EAAEA,CAAC,EAAEM,GAAGwH,GAAG,CAAC,CAAC,CAAC,QAAQ5H,EAAE,EAAE,EAAE,EAAEA,GAAG,EAAEA,IAAI,CAAC,MAAMF,EAAE,EAAE,SAASE,CAAC,EAAEwH,EAAGrH,EAAE,EAAE,KAAKF,EAAEH,CAAC,EAAEA,CAAC,EAAEM,GAAGwH,GAAGzH,CAAC,CAAC,CAAC,OAAOC,CAAC,CAAC,oBAAoB,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,IAAIoH,EAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,IAAQ,EAAE,CAAC,EAAE,SAAS,SAAlB,EAAyB,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,MAAO,EAACH,EAAG,EAAE,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,MAAMa,EAAE,CAAC,YAAY,EAAE,CAAC,KAAK,KAAK,OAAO,KAAK,SAAS,OAAO,KAAK,SAAS,OAAO,KAAK,KAAK,IAAID,GAAG,GAAG,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,SAAS,IAAI,EAAE,GAAG,CAAC,EAAE,KAAK,SAAS,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,CAAA,EAAG,EAAE,CAAE,EAAC,IAAI,EAAE,GAAe,EAAE,SAAS,OAAvB,UAA4B,EAAE,EAAE,SAAS,YAAY,CAAC,UAAyB,EAAE,SAAS,OAA1B,aAA+B,EAAE,EAAE,SAAS,gBAAgB,CAAC,GAAa,EAAE,SAAS,OAArB,QAA0B,MAAM,IAAI,MAAM,iDAAiD,EAAE,EAAE,CAAC,EAAE,SAAS,WAAW,CAAC,CAAC,QAAQpI,EAAE,EAAEA,EAAE,EAAE,OAAOA,IAAI,EAAE,KAAK,EAAEA,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAEA,CAAC,EAAE,CAAC,CAAC,EAAE,MAAMI,EAAE,KAAK,IAAI,GAAG,CAAC,EAAE,EAAE,KAAK,IAAI,GAAG,CAAC,EAAE,MAAM,CAAC,KAAK,KAAK,IAAI,GAAG,CAAC,EAAE,KAAKA,EAAE,KAAK,KAAK,IAAI,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK,SAAS,IAAI,OAAO,EAAE,EAAE,CAAC,EAAE,MAAM,IAAI,MAAM,wBAAwB,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC,EAAE,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,CAAE,EAAC,EAAE,IAAI,IAAI,EAAE,QAAQJ,GAAG,CAAC,MAAMG,EAAE,KAAK,OAAOH,CAAC,EAAE,GAAG,KAAK,QAAQA,EAAEG,CAAC,EAAE,EAAE,IAAI,OAAOH,EAAE,EAAE,CAAC,EAAE,MAAM,IAAI,MAAM,8BAA8BA,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,OAAOA,EAAE,EAAE,CAAC,EAAE,EAAE,KAAKG,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC,EAAE,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,SAAS,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,IAAI,MAAM,GAAG,CAAC,sCAAsC,EAAE,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,MAAK,CAAE,CAAC,OAAO,EAAE,CAAC,OAAO,KAAK,KAAK,OAAO,KAAK,OAAO,CAAC,CAAC,EAAE,IAAIH,GAAG,KAAK,SAAS,IAAIA,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,OAAO,KAAK,KAAK,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAMsI,GAAG,CAAC,MAAM,IAAI,uCAAuC,QAAQ,QAAQ,SAAStI,EAAE,CAAC,MAAMC,EAAE,GAAG,KAAK,OAAQ,EAAC,EAAE,OAAYD,GAAL,IAAOC,EAAE,EAAEA,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC,EAAE,UAAUD,GAAa,OAAOA,GAAjB,UAAyBA,EAAE,SAAP,EAAa,EAAE,MAAMuI,EAAE,CAAC,YAAY,EAAE,CAAC,KAAK,WAAW,OAAO,KAAK,QAAQ,OAAO,KAAK,aAAa,OAAO,KAAK,MAAM,OAAO,KAAK,UAAU,IAAI,CAAA,EAAG,KAAK,MAAM,CAAE,EAAC,KAAK,aAAa,IAAIF,GAAG,KAAK,QAAQ,CAAC,GAAQ,EAAE,UAAP,GAAe,KAAK,WAAW,GAAG,EAAE,WAAW,EAAE,WAAWC,EAAE,CAAC,MAAM,EAAE,CAAC,OAAO,KAAK,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,KAAK,WAAW,MAAO,CAAA,CAAC,IAAI,EAAE,CAAC,MAAO,EAAQ,KAAK,MAAM,CAAC,CAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAO,EAAE,SAAN,EAAa,OAAO,MAAM,EAAE,KAAK,MAAM,CAAC,EAAE,EAAE,QAAQtI,GAAG,CAAOA,EAAE,IAAR,OAAaA,EAAE,GAAG,KAAK,WAAW,MAAO,GAAE,KAAK,UAAUA,EAAE,WAAW,UAAUgD,GAAGhD,EAAE,WAAW,SAAS,EAAEA,EAAE,WAAW,UAAU,CAAC,IAAI,KAAKA,EAAE,WAAW,UAAUgD,GAAGhD,EAAE,WAAW,SAAS,EAAEA,EAAE,WAAW,UAAU,CAAC,IAAI,KAAK,CAAC,EAAE,MAAM,EAAE,CAAE,EAAC,EAAE,QAAQA,GAAG,CAAC,MAAME,EAAEF,EAAE,GAAG,GAAG,GAAG,CAAC,EAAEA,CAAC,EAAE,MAAM,IAAI,MAAM,kBAAkBE,CAAC,WAAW,KAAK,UAAUF,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK,IAAIE,CAAC,EAAE,MAAM,IAAI,MAAM,wCAAwCA,CAAC,EAAE,EAAE,KAAK,MAAMA,CAAC,EAAEF,EAAE,EAAE,KAAKE,CAAC,CAAC,CAAC,EAAE,KAAK,aAAa,KAAK,CAAC,EAAE,KAAK,UAAU,EAAE,QAAQ,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,aAAa,OAAO,CAAC,EAAE,IAAIF,GAAG,KAAK,MAAMA,CAAC,CAAC,EAAE,OAAO,KAAK,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,KAAK,UAAU,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,KAAK,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,IAAI,MAAM,4BAA4B,CAAC,8BAA8B,EAAE,OAAO,KAAK,MAAM,EAAE,QAAQ,CAAC,CAAC,kBAAkB,EAAE,CAAC,MAAM,EAAE,KAAK,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,IAAI,MAAM,4BAA4B,CAAC,gCAAgC,EAAE,OAAO,KAAK,MAAM,EAAE,UAAU,CAAC,CAAC,eAAe,EAAE,CAAC,MAAM,EAAE,CAAA,EAAG,EAAE,QAAQ,CAAC,CAAC,GAAGA,EAAE,SAASE,EAAE,MAAMC,CAAC,IAAI,CAAC,MAAMC,EAAE,KAAK,MAAMJ,CAAC,EAAE,GAAG,CAACI,EAAE,MAAM,IAAI,MAAM,yBAAyBJ,CAAC,4BAA4B,EAAE,EAAE,KAAKA,CAAC,EAAEI,EAAE,WAAWF,CAAC,EAAEC,EAAE,KAAK,UAAUC,EAAE,WAAW,UAAU,CAAC,IAAI,KAAK,CAAC,EAAE,KAAK,WAAW,KAAK,UAAU,EAAE,QAAQ,CAAC,CAAC,eAAe,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,GAAGJ,EAAE,SAASE,CAAC,IAAI,CAAC,EAAE,KAAKF,CAAC,EAAE,MAAMG,EAAE,KAAK,MAAMH,CAAC,EAAE,GAAG,CAACG,EAAE,MAAM,IAAI,MAAM,yBAAyBH,CAAC,4BAA4B,EAAEG,EAAE,SAAS,KAAK,MAAMD,CAAC,EAAE,KAAK,aAAa,OAAOC,CAAC,EAAE,KAAK,UAAUA,EAAE,WAAW,UAAU,CAAC,IAAI,KAAK,CAAC,EAAE,KAAK,WAAW,KAAK,UAAU,EAAE,QAAQ,CAAC,CAAC,OAAOF,EAAE,CAAC,MAAMC,EAAE,CAAE,EAAC,OAAOD,EAAE,QAAQ,CAAC,CAAC,SAASA,EAAE,WAAW,CAAC,IAAI,CAAC,IAAIG,EAAE,EAAEJ,EAAE,CAAE,EAAC,CAAC,EAAE,KAAK,UAAUI,EAAE,CAAC,IAAI,KAAK,GAAG,EAAE,UAAoB,OAAO,EAAE,WAAnB,SAA6B,EAAE,UAAUA,EAAE,EAAE,UAAoB,OAAO,EAAE,WAAnB,SAA6B,EAAE,UAAUA,GAAG,EAAE,CAAC,UAAUA,EAAE,UAAUA,CAAC,GAAG,MAAME,EAAE,KAAK,MAAK,EAAGC,EAAE,CAAC,GAAGD,EAAE,KAAK,UAAU,SAASL,EAAE,WAAW,CAAC,EAAE,KAAK,MAAMK,CAAC,EAAEC,EAAE,KAAK,aAAa,OAAOA,CAAC,EAAEL,EAAE,KAAKI,CAAC,CAAC,CAAC,EAAE,KAAK,WAAW,KAAK,UAAU,CAAC,GAAGJ,CAAC,EAAE,QAAQ,EAAEA,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,QAAQF,GAAG,CAAC,GAAG,CAAC,KAAK,MAAMA,CAAC,EAAE,MAAM,IAAI,MAAM,yCAAyC,EAAE,OAAO,KAAK,MAAMA,CAAC,EAAE,KAAK,aAAa,OAAOA,CAAC,CAAC,CAAC,EAAE,KAAK,WAAW,KAAK,UAAU,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,OAAO,KAAK,MAAM,OAAO,KAAK,KAAK,KAAK,EAAE,IAAI,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,MAAM,CAAE,EAAC,KAAK,aAAa,OAAO,CAAC,MAAM,CAAC,OAAO,OAAO,KAAK,KAAK,KAAK,EAAE,MAAM,CAAC,CAAyV,MAAiHwI,GAAGxI,IAAgBA,EAAE,SAAS,OAAvB,WAA4CA,EAAE,SAAS,OAA1B,eAAiC,CAACgE,GAAGhE,CAAC,EAAE,SAASyI,GAAGzI,EAAEC,EAAEC,EAAE,CAAC,MAAMC,EAAEkF,GAAGrF,EAAEC,CAAC,EAAE,IAAIG,EAAEiF,GAAGpF,EAAEC,CAAC,EAAEC,EAAE,OAAOC,EAAE,IAAIA,GAAG,KAAK,IAAI,KAAK,IAAIA,EAAE,GAAG,EAAE,CAAC,CAAC,MAAMsI,WAAWxF,CAAE,CAAC,YAAYjD,EAAE,CAAC,MAAMA,CAAC,EAAE,KAAK,KAAK,mBAAmB,KAAK,kBAAkB,EAAE,KAAK,UAAU,OAAO,KAAK,UAAU,OAAO,KAAK,cAAc,OAAO,KAAK,QAAQ,OAAO,KAAK,UAAU,GAAG,MAAMC,EAAE,CAAC,MAAM,YAAY,MAAM,SAAS,EAAE,GAAG,KAAK,QAAQD,GAAGA,EAAE,QAAQD,EAAE,CAAE,EAACE,EAAED,EAAE,OAAO,EAAEC,GAAgBD,GAAN,KAAQ,OAAOA,EAAE,aAAzB,KAAoC,KAAK,UAAU,CAAC,OAAO,KAAK,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,SAAS,OAAO,OAAO,EAAE,KAAK,UAAUA,GAAGA,EAAE,UAAUD,EAAE,CAAA,EAAG,EAAEC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAY,KAAK,YAAd,OAAwB,OAAO,MAAM,EAAE,KAAK,UAAU,KAAK,kBAAkB,EAAE,KAAK,UAAU,OAAmB,KAAK,QAAjB,WAAwB,KAAK,WAAY,EAAC,KAAK,SAAS,EAAE,CAAC,KAAK,KAAK,KAAK,OAAO,MAAM,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,KAAK,cAAc,IAAI+E,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,WAAU,EAAG,KAAK,UAAU,KAAK,QAAQ,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,QAAO,EAAG,KAAK,WAAY,EAAC,KAAK,UAAU,OAAO,CAAC,CAAC,YAAY,EAAE,CAAC,GAAG,KAAK,UAAU,GAAG,KAAK,UAAU,KAAK,QAAQ,KAAK,EAAW,KAAK,YAAd,QAA6B,KAAK,oBAAT,EAA2B,OAAO,MAAM,EAAE,KAAK,MAAM,gBAAgB,KAAK,SAAS,EAAE,YAAY,CAAC,EAAE,IAAI7E,EAAE,GAAO,KAAK,oBAAT,EAA2B,CAAC,MAAMD,EAAE,EAAE,KAAK,IAAI,GAAG,KAAK,oBAAoB,CAAC,EAAEE,EAAE,KAAK,IAAI,KAAKF,CAAC,EAAEC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,IAAIC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAa,KAAK,oBAAT,EAA2B,CAAC,MAAMA,EAAE,EAAE,CAAC,EAAEC,EAAE,EAAE,CAAC,EAAEC,EAAE8F,GAAGhG,EAAEC,EAAE,KAAK,oBAAoB,KAAK,QAAQ,KAAK,SAAS,EAAE,EAAEuD,EAAGxD,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,EAAE,EAAEwD,EAAGtD,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,EAAE2D,EAAEL,EAAGvD,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,EAAEI,EAAEmD,EAAG,EAAE,IAAI,EAAE,GAAG,EAAEM,EAAEhE,EAAEO,EAAE,CAAC,EAAEP,EAAEO,EAAEwD,CAAC,EAAE,EAAEwE,GAAG,EAAE,EAAEhI,CAAC,EAAE,EAAEyD,EAAE,GAAG,EAAEuE,GAAG,EAAE,EAAEhI,CAAC,EAAE,GAAG,EAAEP,EAAE,EAAEO,CAAC,EAAE,EAAE,KAAK,IAAI6C,EAAG,CAAC,CAAC,EAAE,EAAEqF,EAAEtD,GAAG,EAAEpB,CAAC,GAAa,SAASjE,EAAEC,EAAEC,EAAE,CAAC,MAAMC,GAAGD,EAAE,EAAED,EAAE,IAAID,EAAE,EAAEC,EAAE,IAAIC,EAAE,EAAED,EAAE,IAAID,EAAE,EAAEC,EAAE,GAAG,OAAOE,EAAE,MAAM,OAAOA,EAAE,OAAO,QAAQ,MAAM,EAAE,EAAE8D,EAAExD,CAAC,IAA9H,QAAgI,IAAI,IAAI,EAAE0E,GAAG,EAAE,EAAEwD,CAAC,EAAEC,EAAEzD,GAAGlB,EAAE,EAAE0E,CAAC,EAAE,EAAE9E,EAAG,EAAE,EAAE,EAAE,CAAC,EAAEgF,EAAEhF,EAAG+E,EAAE,EAAEA,EAAE,CAAC,EAAEzI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC0I,EAAE,IAAIA,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC1I,GAAG,KAAK,sBAAsB,KAAK,UAAUA,EAAEwC,EAAG,WAAW,CAAC,CAAC,sBAAsB,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,UAAU,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,UAAU,CAAC,KAAK,SAAS,CAAC,KAAK,UAAU,SAAS,CAAC,EAAE,CAAC,QAAQ,KAAK,QAAQ,UAAU,KAAK,UAAU,oBAAoB,KAAK,oBAAoB,WAAW,CAAC,CAAC,IAAI,KAAK,MAAM,eAAe,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,KAAK,kBAAkB,GAAG,CAAC,KAAK,WAAW,KAAK,YAAY,CAAC,EAAE,KAAK,UAAU,GAAO,KAAK,oBAAT,EAA2B,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,MAAM,OAAO,CAAC,CAAC,SAAS,CAAC,KAAK,UAAU,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,EAAE,KAAK,oBAAoB,KAAK,WAAU,CAAE,SAAa,KAAK,oBAAT,GAA4B,KAAK,UAAU,CAAC,MAAM,EAAE,KAAK,MAAM,gBAAgB,KAAK,SAAS,EAAkD,GAA7CgD,EAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC,GAAY,CAAC,KAAK,sBAAsB,KAAK,UAAU,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC,EAAEhD,EAAG,MAAM,EAAE,OAAO,KAAK,mBAAmB,MAAU,KAAK,oBAAT,GAA4B,KAAK,WAAW,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,KAAK,UAAU,OAAO,KAAK,QAAS,EAAC,EAAE,MAAM,KAAK,UAAU,QAAQ,KAAK,MAAK,CAAE,CAAC,WAAW,CAAE,CAAA,aAAa,CAAA,CAAE,QAAQ,CAAA,CAAE,WAAW,CAAE,CAAA,SAAS,CAAC,GAAG,CAAC,KAAK,WAAW,KAAK,MAAM,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,MAAS,CAAE,CAAA,KAAK,UAAU,OAAO,KAAK,kBAAkB,EAAc,KAAK,QAAjB,WAAwB,KAAK,WAAU,CAAE,CAAC,aAAa1C,EAAE,CAAC,MAAMC,EAAEF,EAAE,GAAG,CAAC,iBAAiB,UAAU,oBAAoB,UAAU,oBAAoB,EAAE,mBAAmB,GAAG,WAAW,UAAU,kBAAkB,UAAU,kBAAkB,EAAE,WAAW,EAAE,gBAAgB,UAAU,gBAAgB,EAAE,OAAO,CAAC,CAAC,EAAE,OAAOC,EAAE,WAAW,OAAO,KAAK,MAAkBA,EAAE,SAAS,OAAvB,YAA8BC,EAAE,iBAAiB,KAAK,wBAAwB,KAAK,OAAO,UAAUA,EAAE,iBAAiBD,CAAC,EAAEC,EAAE,oBAAoB,KAAK,wBAAwB,KAAK,OAAO,aAAaA,EAAE,oBAAoBD,CAAC,EAAEC,EAAE,oBAAoB,KAAK,uBAAuB,KAAK,OAAO,aAAaA,EAAE,oBAAoBD,CAAC,EAAEC,EAAE,mBAAmB,KAAK,uBAAuB,KAAK,OAAO,YAAYA,EAAE,mBAAmBD,CAAC,EAAEC,EAAE,OAAO,IAAIA,CAAC,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,gBAAgB,CAAC,GAAG,EAAE,WAAW,OAAO,KAAK,MAAMsE,GAAG,EAAE,KAAK,mBAAmB,CAAC,CAAC,CAAC,MAAMsE,EAAE,CAAC,YAAY7I,EAAE,CAAC,KAAK,OAAO,OAAO,KAAK,MAAM,OAAO,KAAK,SAAS,OAAO,KAAK,SAAS,GAAG,KAAK,OAAO,OAAO,KAAK,gBAAgB,OAAO,KAAK,oBAAoB,OAAO,KAAK,SAASA,EAAE,QAAQ,KAAK,MAAM,IAAIoH,GAAG,MAAMnH,EAAE,IAAI,IAAIC,EAAEF,EAAE,MAAM,OAAO,CAACD,EAAEC,IAAI,CAAC,GAAGC,EAAE,IAAID,EAAE,IAAI,EAAE,MAAM,IAAI,MAAM,sBAAsBA,EAAE,IAAI,gBAAgB,EAAE,OAAOC,EAAE,IAAID,EAAE,IAAI,EAAED,EAAEC,EAAE,IAAI,EAAEA,EAAED,CAAC,EAAE,CAAA,CAAE,EAAEI,EAAE,OAAO,KAAKD,CAAC,EAAE,GAAOC,EAAE,SAAN,EAAa,MAAM,IAAI,MAAM,mBAAmB,EAAEA,EAAE,QAAQJ,GAAG,CAAC,GAAGG,EAAEH,CAAC,EAAE,OAAOiD,EAAG,OAAO,CAAC,GAAG,KAAK,oBAAoB,MAAM,IAAI,MAAM,8CAA8C,EAAE,KAAK,oBAAoBjD,CAAC,CAAC,CAAC,EAAE,KAAK,OAAOA,EAAE,CAAA,EAAGG,EAAE,CAAC,OAAO,KAAK,KAAK,CAAC,EAAE,KAAK,gBAAgB,CAAC,OAAO,GAAG,OAAO,CAAA,EAAG,SAAS,CAAA,EAAG,OAAO,CAAE,EAAC,MAAM,CAAA,CAAE,EAAE,KAAK,OAAO,IAAIoI,GAAG,CAAC,QAAQ,CAAC,CAACtI,EAAE,QAAQ,WAAWA,EAAE,WAAWA,EAAE,WAAW,MAAM,CAAC,EAAE,MAAMI,EAAEL,GAAG,CAAC,MAAMC,EAAE,CAAA,EAAGC,EAAE,KAAK,OAAO,QAAO,EAAG,OAAOA,GAAG,CAACF,EAAE,SAASE,EAAE,EAAE,IAAID,EAAE,KAAKC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQD,EAAE,UAAUC,CAAC,CAAC,EAAEI,EAAE,CAACN,EAAEC,IAAI,CAAC,KAAK,UAAU,KAAK,gBAAgB,OAAO,QAAQC,GAAG,CAACA,EAAEF,EAAEC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAACD,EAAEC,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,OAAO,KAAK,gBAAgB,OAAO,QAAQC,GAAG,CAACA,EAAEF,EAAEC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQC,EAAE,UAAUC,CAAC,EAAEE,EAAEL,CAAC,EAAaC,IAAX,SAAa,KAAK,SAAS,OAAO,CAAC,QAAQC,EAAE,WAAW,GAAG,UAAUC,EAAE,QAAQ,CAAA,CAAE,EAAE,KAAK,eAAe,EAAaF,IAAX,SAAa,KAAK,SAAS,OAAO,CAAC,QAAQ,CAAA,EAAG,WAAW,CAAE,EAAC,UAAUE,EAAE,QAAQD,CAAC,EAAE,KAAK,cAAe,CAAA,EAAaD,IAAX,SAAa,KAAK,SAAS,OAAO,CAAC,QAAQ,CAAE,EAAC,WAAWD,EAAE,UAAUG,EAAE,QAAQ,EAAE,EAAE,KAAK,cAAa,CAAE,EAAcF,IAAZ,WAAe,KAAK,SAAS,OAAO,CAAC,QAAQ,CAAE,EAAC,WAAW,CAAE,EAAC,UAAUE,EAAE,QAAQ,CAAE,CAAA,EAAE,KAAK,cAAa,CAAE,CAAC,EAAE,EAAEH,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,OAAO,KAAK,gBAAgB,OAAO,QAAQC,GAAG,CAACA,EAAED,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQC,EAAE,UAAUC,CAAC,EAAEG,EAAE,CAACL,CAAC,CAAC,EAAE,KAAK,SAAS,OAAO,CAAC,QAAQ,CAAA,EAAG,WAAW,CAAE,EAAC,UAAUE,EAAE,QAAQD,CAAC,EAAE,KAAK,cAAe,CAAA,CAAC,EAAEgE,EAAEjE,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,OAAO,KAAK,gBAAgB,SAAS,QAAQA,GAAG,CAACA,GAAG,CAAC,EAAE,KAAK,CAAC,QAAQC,EAAE,UAAUC,CAAC,EAAEG,EAAE,CAACL,CAAC,CAAC,EAAEC,GAAG,KAAK,SAAS,OAAO,CAAC,QAAQ,GAAG,WAAW,CAAA,EAAG,UAAUC,EAAE,QAAQD,CAAC,EAAE,KAAK,cAAa,CAAE,CAAC,EAAE,OAAO,KAAK,KAAK,MAAM,EAAE,QAAQD,GAAG,CAAC,KAAK,OAAOA,CAAC,EAAE,SAAS,CAAC,KAAKA,EAAE,MAAM,KAAK,OAAO,UAAU,KAAK,SAAS,UAAU,KAAK,KAAK,QAAQ,EAAE,QAAQ,KAAK,SAAS,QAAQ,KAAK,KAAK,QAAQ,EAAE,UAAU,KAAK,SAAS,UAAU,KAAK,KAAK,QAAQ,EAAE,qBAAqB,KAAK,SAAS,qBAAqB,KAAK,KAAK,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,WAAWiE,EAAE,SAAS3D,EAAE,oBAAoB,KAAK,SAAS,uBAAwB,CAAA,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,SAAS,MAAM,IAAI,MAAM,2BAA2B,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,CAAE,EAAC,OAAO,OAAO,KAAK,KAAK,MAAM,EAAE,QAAQ,GAAG,CAAC,EAAE,CAAC,EAAEN,GAAG,KAAK,qBAAqBA,EAAE,WAAW4C,EAAE,EAAE,KAAK,OAAO,KAAK,mBAAmB,EAAE,aAAa,KAAK,KAAK,OAAO,KAAK,mBAAmB,CAAC,EAAE5C,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,aAAa,KAAK,KAAK,OAAO,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAEG,EAAE,CAAC,MAAMC,EAAED,GAAYA,EAAE,kBAAX,OAA2BA,EAAE,gBAAgB,GAAGE,EAAE,CAACF,GAAYA,EAAE,uBAAX,QAAiCA,EAAE,qBAAqBG,EAAE,KAAK,SAAS,UAAU,KAAK,KAAK,QAAQ,EAAE,EAAE,KAAK,SAAS,QAAQ,KAAK,KAAK,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE2D,EAAEa,GAAG,CAAC,UAAUxE,EAAE,MAAM,EAAE,gBAAgBF,CAAC,CAAC,EAAE,OAAO,KAAK,OAAO,OAAO6D,CAAC,EAAE,OAAO9D,GAAG,CAAC,GAAGE,IAAIF,EAAE,WAAW0C,CAAE,GAAG1C,EAAE,WAAW,gBAAgB,MAAM,GAAG,GAAaA,EAAE,SAAS,OAArB,QAA0B,CAAC,MAAMH,EAAEG,EAAE,SAAS,YAAYF,EAAE,EAAED,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,EAAE,OAAOE,EAAE,EAAED,CAAC,EAAEG,CAAC,CAAC,GAAkBD,EAAE,SAAS,OAA1B,aAA+B,CAAC,MAAMH,EAAEG,EAAE,SAAS,YAAY,QAAQF,EAAE,EAAEA,EAAED,EAAE,OAAO,EAAEC,IAAI,CAAC,MAAMC,EAAEF,EAAEC,CAAC,EAAEE,EAAEH,EAAEC,EAAE,CAAC,EAAE,GAAGyG,GAAG,EAAE,EAAExG,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,EAAE,EAAEC,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,CAAC,EAAEC,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAACqG,GAAG,CAAC,EAAE,CAAC,EAAEtG,EAAE,SAAS,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,KAAK,aAAY,EAAG,CAAC,KAAK,oBAAoB,MAAM,IAAI,MAAM,oCAAoC,EAAE,OAAO,KAAK,QAAS,IAAG,KAAK,qBAAqB,KAAK,QAAQ,KAAK,mBAAmB,EAAE,KAAK,OAAO,KAAK,mBAAmB,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,GAAG,KAAK,aAAY,EAAG,CAAC,KAAK,OAAO,CAAC,EAAE,MAAM,IAAI,MAAM,gCAAgC,EAAE,KAAK,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,aAAa,CAAC,OAAO,KAAK,OAAO,QAAS,CAAA,CAAC,OAAO,CAAC,KAAK,eAAe,KAAK,SAAS,MAAK,CAAE,CAAC,IAAI,SAAS,CAAC,OAAO,KAAK,QAAQ,CAAC,IAAI,QAAQ,EAAE,CAAC,MAAM,IAAI,MAAM,sBAAsB,CAAC,CAAC,SAAS,CAAC,OAAO,KAAK,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,KAAK,aAAY,EAAG,CAAC,KAAK,OAAO,CAAC,EAAE,MAAM,IAAI,MAAM,gCAAgC,EAAE,KAAK,MAAM,KAAM,EAAC,KAAK,MAAM,KAAK,OAAO,CAAC,EAAE,KAAK,MAAM,MAAK,CAAE,CAAC,eAAe,EAAE,CAAC,KAAK,eAAe,KAAK,OAAO,OAAO,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,KAAK,gBAAgB,cAAc,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,KAAK,cAAe,EAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,KAAK,OAAO,MAAO,CAAA,CAAC,WAAW,EAAE,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,KAAK,aAAY,EAAO,EAAE,SAAN,GAAc,KAAK,OAAO,KAAK,EAAEH,GAAG,CAAC,GAAWA,GAAa,OAAOA,GAAjB,UAAoB,eAAeA,GAAa,OAAOA,EAAE,YAAnB,UAAsCA,EAAE,aAAT,MAAqB,SAASA,EAAE,WAAY,CAAC,MAAMC,EAAE,KAAK,OAAOD,EAAE,WAAW,IAAI,EAAE,MAAM,CAAC,CAACC,GAAGA,EAAE,gBAAgB,KAAKA,CAAC,EAAED,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,SAAS,GAAG,KAAK,SAAS,SAAS,CAAC,QAAQ,IAAI,CAAC,KAAK,gBAAgB,MAAM,QAAQ,GAAG,CAAC,EAAC,CAAE,CAAC,CAAC,EAAE,SAAS,IAAI,KAAK,MAAM,MAAM,QAAQ,GAAG,CAAC,KAAK,MAAM,QAAQ,CAAC,CAAC,EAAE,YAAY,GAAG,CAAC,KAAK,MAAM,YAAY,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,KAAK,MAAM,UAAU,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,KAAK,MAAM,QAAQ,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,IAAI,CAAC,KAAK,MAAM,YAAY,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,KAAK,MAAM,OAAO,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,KAAK,MAAM,UAAU,EAAE,CAAC,CAAC,EAAE,QAAQ,IAAI,CAAC,KAAK,MAAM,UAAU,KAAK,OAAO,MAAK,CAAE,CAAC,CAAC,CAAC,CAAC,oBAAoB,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,KAAK,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,0BAA0B,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,SAAS,mBAAmB,KAAK,KAAK,QAAQ,EAAE,CAAC,EAAE,OAAc,IAAP,KAAS,GAAG,KAAK,mBAAmB,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,SAAS,GAAG,KAAK,SAAS,WAAY,CAAA,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,gBAAgB,CAAC,EAAE,EAAE,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,gBAAgB,CAAC,EAAE,EAAE,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CCEnmkJ,MAAM+I,GAAwC,CACpD,MAAO,GACP,KAAM,GACN,QAAS,GACT,UAAW,GACX,OAAQ,GACR,SAAU,GACV,gBAAiB,GACjB,OAAQ,EACT,ECQaC,GAAqBC,GAA4B,CAC7D,MAAMC,EAAQ,CAAA,EAEV,OAAAD,EAAQ,QAAU,IACfC,EAAA,KAAK,IAAIC,EAAoB,EAEhCF,EAAQ,OAAS,IACdC,EAAA,KAAK,IAAIE,EAAyB,EAErCH,EAAQ,UAAY,IACjBC,EAAA,KACL,IAAIG,GAAqB,CACxB,WAAY,CAACC,EAA4BrJ,IAA8B,CACtE,MAAMsJ,EAAatJ,EAAE,WACjB,OAAAsJ,IAAe,UAAYA,IAAe,SACtCC,GAA4BF,CAAO,EAEpC,EACR,CAAA,CACA,CAAA,EAGCL,EAAQ,YAAc,IACnBC,EAAA,KAAK,IAAIO,EAAwB,EAEpCR,EAAQ,kBAAoB,IACzBC,EAAA,KAAK,IAAIQ,EAA8B,EAE1CT,EAAQ,SAAW,IAChBC,EAAA,KAAK,IAAIS,EAAqB,EAEjCV,EAAQ,WAAa,IAClBC,EAAA,KAAK,IAAIU,EAAuB,EAGnCX,EAAQ,SAAW,IAChBC,EAAA,KACL,IAAIW,GAAoB,CACvB,MAAO,CACN,MAAO,CACN,QAAS,CACR,UAAW,EACZ,CACD,EACA,QAAS,CACR,QAAS,CACR,UAAW,GACX,WAAY,GACZ,UAAW,GACX,YAAa,CACZ,UAAW,GACX,UAAW,GACX,UAAW,EACZ,CACD,CACD,EACA,WAAY,CACX,QAAS,CACR,UAAW,GACX,YAAa,CACZ,UAAW,GACX,UAAW,GACX,UAAW,EACZ,CACD,CACD,EACA,SAAU,CACT,QAAS,CACR,UAAW,GACX,YAAa,CACZ,UAAW,GACX,UAAW,GACX,UAAW,EACZ,CACD,CACD,EACA,OAAQ,CACP,QAAS,CACR,UAAW,GACX,YAAa,CACZ,UAAW,GACX,UAAW,GACX,UAAW,EACZ,CACD,CACD,EACA,UAAW,CACV,QAAS,CACR,UAAW,GACX,WAAY,GACZ,UAAW,GACX,YAAa,CACZ,UAAW,GACX,UAAW,GACX,UAAW,EACZ,CACD,CACD,EACA,mBAAoB,CACnB,QAAS,CACR,UAAW,GACX,WAAY,GACZ,UAAW,GACX,YAAa,CACZ,UAAW,GACX,UAAW,GACX,UAAW,EACZ,CACD,CACD,CACD,CAAA,CACA,CAAA,EAIIX,CACR,ECjIO,MAAMY,EAA6C,CAYzD,YAAYb,EAA0B,CAX9Bc,EAAA,yBACAA,EAAA,YACAA,EAAA,kBACAA,EAAA,mBAAoD,CAAA,GACpDA,EAAA,qBACAA,EAAA,kBAAa,IACbA,EAAA,mBAEAA,EAAA,kBACAA,EAAA,eAA0BhB,IAGjC,KAAK,YAAc,GACnB,KAAK,WAAa,GAEdE,IACH,KAAK,QAAU,OAAO,OAAO,KAAK,QAASA,CAAO,EAEpD,CAEO,oBAAsC,CAErC,MADiB,WAEzB,CAEO,MAAMe,EAAuB,CACnC,KAAK,IAAMA,EAEL,MAAAd,EAAQF,GAAkB,KAAK,OAAO,EACxC,GAAAE,EAAM,SAAW,EACd,MAAA,IAAI,MAAM,kCAAkC,EAE9C,YAAA,UAAY,IAAIe,GAAU,CAC9B,QAAS,IAAIC,GAA2B,CAAE,IAAAF,EAAK,EAC/C,MAAAd,CAAA,CACA,EAED,KAAK,UAAU,QAEV,KAAA,iBAAmB,SAAS,cAAc,KAAK,EAC/C,KAAA,iBAAiB,UAAU,IAAI,iBAAiB,EAChD,KAAA,iBAAiB,UAAU,IAAI,uBAAuB,EAEtD,KAAA,UAAY,SAAS,cAAc,QAAQ,EAC3C,KAAA,UAAU,UAAU,IAAI,iCAAiC,EAC9D,KAAK,UAAU,KAAO,SACjB,KAAA,UAAU,iBAAiB,QAAS,IAAM,SAC1C,GAAA,CAAC,KAAK,UAAW,OAEf,MAAAiB,EAAW,SAAS,uBAAuB,kCAAkC,EACnF,QAASjK,EAAI,EAAGA,EAAIiK,EAAS,OAAQjK,IAAK,CACnC,MAAAkK,EAAOD,EAAS,KAAKjK,CAAC,EACvBkK,IACD,KAAK,YACHA,EAAA,UAAU,IAAI,QAAQ,GACtBC,EAAA,KAAA,YAAA,MAAAA,EAAW,UAAU,OAAO,WACjC,KAAK,gBAAgB,IAEhBD,EAAA,UAAU,OAAO,QAAQ,GACzBE,EAAA,KAAA,YAAA,MAAAA,EAAW,UAAU,IAAI,YAEhC,CACK,KAAA,WAAa,CAAC,KAAK,UAAA,CACxB,EAEKpB,EAAA,QAASP,GAAM,CACf,KAAA,mBAAmBA,EAAE,IAAI,CAAA,CAC9B,EAEI,KAAA,aAAe,SAAS,cAAc,QAAQ,EAC9C,KAAA,aAAa,UAAU,IAAI,kCAAkC,EAC7D,KAAA,aAAa,UAAU,IAAI,oCAAoC,EAC/D,KAAA,aAAa,UAAU,IAAI,QAAQ,EACxC,KAAK,aAAa,KAAO,SACpB,KAAA,aAAa,iBAAiB,QAAS,IAAM,CAC5C,KAAK,WACL,KAAK,UAAU,UACpB,KAAK,UAAU,QACf,KAAK,WAAW,EAAA,CAChB,EAEI,KAAA,iBAAiB,YAAY,KAAK,SAAS,EAChD,OAAO,OAAO,KAAK,WAAW,EAAE,QAAS4B,GAAQ,QAC3CF,EAAA,KAAA,mBAAA,MAAAA,EAAkB,YAAYE,EAAG,CACtC,EACI,KAAA,iBAAiB,YAAY,KAAK,YAAY,EAE5C,KAAK,gBACb,CAEO,UAAiB,CAEtB,CAAC,KAAK,kBACN,CAAC,KAAK,iBAAiB,YACvB,CAAC,KAAK,KACN,CAAC,KAAK,YAIP,KAAK,YAAc,GACnB,KAAK,UAAY,OACjB,KAAK,IAAM,OACZ,CAEO,UAAW,CACZ,KAAK,YACL,KAAK,UAAU,SACnB,KAAK,UAAU,QAEjB,CAEO,YAAa,CACd,KAAK,WACL,KAAK,UAAU,UACpB,KAAK,UAAU,OACf,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACtB,CAEO,sBAAuB,CAC7B,OAAO,KAAK,SACb,CAEQ,iBAAkB,CACzB,KAAK,WAAa,GAEZ,MAAAJ,EAAW,SAAS,uBAAuB,kCAAkC,EACnF,QAASjK,EAAI,EAAGA,EAAIiK,EAAS,OAAQjK,IAAK,CACnC,MAAAkK,EAAOD,EAAS,KAAKjK,CAAC,EACvBkK,GACAA,EAAA,UAAU,OAAO,QAAQ,CAC/B,CACD,CAEQ,mBAAmBI,EAAqB,CACzC,MAAAC,EAAM,SAAS,cAAc,QAAQ,EACvCA,EAAA,UAAU,IAAI,kCAAkC,EACpDA,EAAI,UAAU,IAAI,4BAA4BD,CAAI,SAAS,EACvDC,EAAA,UAAU,IAAI,QAAQ,EAC1BA,EAAI,KAAO,SACPA,EAAA,iBAAiB,QAAS,IAAM,CAC9B,KAAK,YACV,KAAK,SAAS,EACd,KAAK,gBAAgB,EAChB,KAAA,UAAU,QAAQD,CAAI,EAC3B,KAAK,WAAaA,EACdC,EAAA,UAAU,IAAI,QAAQ,EAAA,CAC1B,EACI,KAAA,YAAYD,CAAI,EAAIC,CAC1B,CACD","x_google_ignoreList":[0]}