{"version":3,"sources":["webpack:///./node_modules/core-js/internals/engine-ff-version.js","webpack:///./src/assets/basemap/googleStreetMap.png","webpack:///./node_modules/core-js/internals/delete-property-or-throw.js","webpack:///./src/assets/mapviewer/legend/station_icon_investStudy.png","webpack:///./node_modules/vuetify/lib/components/VDataTable/VSimpleTable.js","webpack:///./src/assets/basemap/esriSateliteMap.png","webpack:///./src/views/Map/Mapviewer.vue?bc05","webpack:///src/views/Map/Mapviewer.vue","webpack:///./src/views/Map/Mapviewer.vue?c0ea","webpack:///./node_modules/vuetify/lib/components/VRadioGroup/VRadio.js","webpack:///./node_modules/vuetify/lib/components/VRadioGroup/VRadioGroup.js","webpack:///./node_modules/vuetify/lib/components/VSwitch/VSwitch.js","webpack:///./src/views/Map/Mapviewer.vue?5d45","webpack:///./node_modules/core-js/modules/es.array.sort.js","webpack:///./node_modules/core-js/internals/engine-webkit-version.js","webpack:///./node_modules/vuetify/lib/mixins/rippleable/index.js","webpack:///./src/assets/mapviewer/legend/station_icon_conti_orange.svg","webpack:///./src/views/Map/Mapviewer.vue?cdaf","webpack:///./node_modules/ol/style/Text.js","webpack:///./src/assets/mapviewer/legend/station_icon_baseline.png","webpack:///./src/assets/basemap/terrainMap.png","webpack:///./node_modules/ol/geom/GeometryCollection.js","webpack:///./node_modules/ol/format/Feature.js","webpack:///./node_modules/ol/format/JSONFeature.js","webpack:///./node_modules/ol/geom/flat/interpolate.js","webpack:///./node_modules/ol/geom/LineString.js","webpack:///./node_modules/ol/geom/MultiLineString.js","webpack:///./node_modules/ol/geom/MultiPoint.js","webpack:///./node_modules/ol/geom/flat/center.js","webpack:///./node_modules/ol/geom/MultiPolygon.js","webpack:///./node_modules/ol/format/GeoJSON.js","webpack:///./node_modules/vuetify/lib/components/VGrid/VLayout.js","webpack:///./node_modules/core-js/internals/array-sort.js","webpack:///./node_modules/ol/control/FullScreen.js","webpack:///./src/assets/mapviewer/legend/station_icon_conti_grey.svg","webpack:///./src/assets/basemap/streetMap.png","webpack:///./node_modules/core-js/internals/engine-is-ie-or-edge.js","webpack:///./src/assets/mapviewer/legend/station_icon_conti_green.svg","webpack:///./src/assets/mapviewer/legend/station_icon_manual.png","webpack:///./src/assets/mapviewer/legend/sample_point_icon.png","webpack:///./node_modules/vuetify/lib/mixins/selectable/index.js","webpack:///./src/assets/basemap/topographicMap.png"],"names":["userAgent","firefox","match","module","exports","tryToString","$TypeError","TypeError","O","P","extend","name","props","dense","Boolean","fixedHeader","height","Number","String","computed","this","themeClasses","methods","$slots","wrapper","$createElement","staticClass","style","default","h","class","classes","top","genWrapper","bottom","_vm","_h","_c","_self","ref","attrs","scopedSlots","_u","key","fn","on","_g","_b","$event","map_search","_v","model","value","callback","$$v","modelContentSearch","expression","directives","rawName","stationCurrentMode","a","m","selectRadioSearchLayer","modelRadioSearchLayer","listSearchStates","selectSearchStates","modelSearchStateSelected","listSearchStation","selectSearchStation","modelSearchStationSelected","map_home","modelContentBasemap","_l","item","i","map_basemap","basemapSelected","src","_s","modelContentInformation","img","text","poiSelected","map_poi","map_station","is","bs","modelContentStationIdentify","detailsIdentifyVectorSelected","group","label","closeModelContentStationIdentify","stationID","_e","location","Date","datetime","toLocaleDateString","toLocaleTimeString","others","CaseName","CaseTitle","modelContentExpansionIdentify","staticStyle","x","type","status","fullname","undefined","flag","value_unit","unit","sub_index","effluent_guideline","proxy","caseID","long","lat","loadingSwitchSamplePointInvestStudy","swichingSamplePointInvestStudy","modelSwitchSamplePointInvestStudy","detailsSamplePointSelected","ID","State","Long","Lat","Image","stationImage","station","deployment","upstream","downstream","openNewTab","staticRenderFns","data","dataParams","map","view","extentMalaysia","dataGlobalStations","objGeom","theadContentParamsIndentify","tbodyContentParamsIndentify","Location","Status","Others","Group","extentState","extent","listBasemap","layer","listLegend","color","dataPOI","dataStationConti","dataStationManual","dataStationInvestStudy","dataStationBaselineStudy","mounted","getCurrentMode","getDataParams","getDataAllReadingStations","localStorage","clickButtonAMIS","bus","focus","currentMode","console","axios","headers","Authorization","then","catch","StationLocation","StationState","StationDate","StationActive","StationStatus","StationImage","DataOrigins","setMap","Map","target","layers","zoom","projection","center","constrainResolution","controls","getView","fit","setTimeout","setFunctionOnClickMap","evt","feature","values_","that","setContentIdentify","dataFeature","keys","includes","z","reading","split","tempTbody","acronym","push","loadAllLayerStations","Vector","wrapX","keysAllGeoJson","id","geometry","coordinates","geometry_name","properties","state","stationActive","stationStatus","imgVector","radius","fill","stroke","width","anchor","anchorXUnits","anchorYUnits","textVector","textAlign","textBaseline","font","offsetX","offsetY","placement","maxAngle","rotation","image","source","className","addLayer","setVisibleStationLayer","getLayers","array_","length","setVisible","className_","visible","layerVectorTrue","olExtent","size","maxZoom","STATE_NAME_A","sort","mod","STATION_ID_A","LOCATION","zoomFlyTo","getSource","getFeatures","arrBasemap","title","caseid","$store","getters","user","token","dataSelectedSamplePoint","dataLayerSamplePoint","Label","GeomType","layerSamplePoint","removeAnyLayer","loadAnyLayer","datalayer","imgVectorType","imageUse","anchorStatus","colorVector","geoJsonLayer","featureLayer","sourceLayer","layerVector","removeLayer","window","mode","specialRequest","setZoom","animate","duration","baseMixins","mixins","inheritAttrs","disabled","offIcon","onIcon","readonly","isFocused","isDisabled","groupClasses","options","computedColor","call","isActive","VInput","computedId","hasLabel","radioGroup","hasState","isReadonly","_uid","rippleState","validationState","args","genInput","VLabel","click","for","focused","setTextColor","computedIcon","computedName","attrs$","genRipple","e","$emit","toggle","onKeydown","onChange","listeners$","genRadio","genLabel","column","row","role","genDefaultSlot","render","genInputSlot","tag","onClick","Touch","inset","loading","flat","hasError","shouldValidate","hasSuccess","hasColor","genSwitch","left","onSwipeLeft","right","onSwipeRight","switchData","genProgress","progress","VProgressCircular","indeterminate","keyCode","component","VBtn","VCard","VCardText","VCardTitle","VCol","VExpansionPanel","VExpansionPanelContent","VExpansionPanelHeader","VExpansionPanels","VIcon","VImg","VLayout","VList","VListItem","VListItemAvatar","VListItemContent","VListItemTitle","VMenu","VRadio","VRadioGroup","VRow","VSelect","VSimpleTable","VSpacer","VSwitch","VTooltip","$","uncurryThis","aCallable","toObject","lengthOfArrayLike","deletePropertyOrThrow","toString","fails","internalSort","arrayMethodIsStrict","FF","IE_OR_EDGE","V8","WEBKIT","test","nativeSort","FAILS_ON_UNDEFINED","FAILS_ON_NULL","STRICT_METHOD","STABLE_SORT","code","chr","index","result","fromCharCode","k","v","b","charAt","FORCED","getSortCompare","comparefn","y","proto","forced","array","itemsLength","items","arrayLength","webkit","ripple","Object","DEFAULT_FILL_COLOR","Text","opt_options","font_","rotation_","rotateWithView_","rotateWithView","scale_","scale","scaleArray_","text_","textAlign_","textBaseline_","fill_","maxAngle_","Math","PI","placement_","POINT","overflow_","overflow","stroke_","offsetX_","offsetY_","backgroundFill_","backgroundFill","backgroundStroke_","backgroundStroke","padding_","padding","prototype","clone","getScale","getFont","getPlacement","getMaxAngle","getOverflow","getRotation","getRotateWithView","Array","isArray","slice","getText","getTextAlign","getTextBaseline","getFill","getStroke","getOffsetX","getOffsetY","getBackgroundFill","getBackgroundStroke","getPadding","getScaleArray","setOverflow","setFont","setMaxAngle","setOffsetX","setOffsetY","setPlacement","setRotateWithView","setFill","setRotation","setScale","setStroke","setText","setTextAlign","setTextBaseline","setBackgroundFill","setBackgroundStroke","setPadding","__extends","extendStatics","d","setPrototypeOf","__proto__","p","hasOwnProperty","__","constructor","create","_super","GeometryCollection","opt_geometries","_this","geometries_","changeEventsKeys_","listenGeometriesChange_","unlistenGeometriesChange_","forEach","ii","EventType","CHANGE","changed","geometryCollection","setGeometries","applyProperties","closestPointXY","closestPoint","minSquaredDistance","getExtent","geometries","containsXY","computeExtent","getGeometries","cloneGeometries","getGeometriesArray","getGeometriesArrayRecursive","geometriesArray","getType","concat","getSimplifiedGeometry","squaredTolerance","simplifiedGeometryRevision","getRevision","simplifiedGeometryMaxMinSquaredTolerance","simplifiedGeometries","simplified","simplifiedGeometry","simplifiedGeometryCollection","setGeometriesArray","GeometryType","GEOMETRY_COLLECTION","intersectsExtent","isEmpty","rotate","angle","sx","opt_sy","opt_anchor","applyTransform","transformFn","translate","deltaX","deltaY","disposeInternal","Geometry","clonedGeometries","FeatureFormat","dataProjection","defaultFeatureProjection","supportedMediaTypes","getReadOptions","readProjection","getUnits","Units","TILE_PIXELS","setWorldExtent","featureProjection","adaptOptions","readFeature","readFeatures","readGeometry","writeFeature","writeFeatures","features","writeGeometry","transformGeometryWithOptions","write","transformed","transform","decimals","power_1","pow","round","JSONFeature","FormatType","JSON","readFeatureFromObject","getObject","readFeaturesFromObject","object","readGeometryFromObject","readProjectionFromObject","stringify","writeFeatureObject","writeFeaturesObject","writeGeometryObject","parse","interpolatePoint","flatCoordinates","offset","end","stride","fraction","opt_dest","opt_dimension","o","t","n","x1","y1","length_1","cumulativeLengths","x2","y2","sqrt","dimension","dest","NaN","lineStringCoordinateAtM","extrapolate","coordinate","lo","hi","mid","m0","m1","lineStringsCoordinateAtM","ends","interpolate","LineString","opt_layout","flatMidpoint_","flatMidpointRevision_","maxDelta_","maxDeltaRevision_","setCoordinates","setFlatCoordinates","appendCoordinate","lineString","layout","forEachSegment","getCoordinateAtM","opt_extrapolate","GeometryLayout","XYM","XYZM","getCoordinates","inflate","getCoordinateAt","getLength","getFlatMidpoint","getSimplifiedGeometryInternal","simplifiedFlatCoordinates","XY","LINE_STRING","setLayout","deflate","SimpleGeometry","MultiLineString","opt_ends","ends_","getLayout","lineStrings","getFlatCoordinates","appendLineString","multiLineString","opt_interpolate","getEnds","getLineString","getLineStrings","getFlatMidpoints","midpoints","midpoint","simplifiedEnds","MULTI_LINE_STRING","MultiPoint","appendPoint","point","multiPoint","squaredDistance","j","getPoint","Point","getPoints","points","MULTI_POINT","linearRingss","endss","flatCenters","MultiPolygon","opt_endss","endss_","flatInteriorPointsRevision_","flatInteriorPoints_","orientedRevision_","orientedFlatCoordinates_","polygons","polygon","jj","appendPolygon","len","newEndss","multiPolygon","getOrientedFlatCoordinates","getArea","opt_right","orient","getEndss","getFlatInteriorPoints","getInteriorPoints","simplifiedEndss","getPolygon","prevEnds","Polygon","getPolygons","MULTI_POLYGON","lastEnds","GeoJSON","geometryName_","geometryName","extractGeometryName_","extractGeometryName","geoJSONFeature","Feature","setGeometryName","setGeometry","setId","setProperties","geoJSONObject","geoJSONFeatureCollection","geoJSONFeatures","crs","getId","hasProperties","getProperties","getGeometry","getGeometryName","objects","readPointGeometry","readLineStringGeometry","POLYGON","readPolygonGeometry","readMultiPointGeometry","readMultiLineStringGeometry","readMultiPolygonGeometry","readGeometryCollectionGeometry","Error","geoJSON","writePointGeometry","writeLineStringGeometry","writePolygonGeometry","writeMultiPointGeometry","writeMultiLineStringGeometry","writeMultiPolygonGeometry","writeGeometryCollectionGeometry","CIRCLE","rightHanded","arraySlice","floor","mergeSort","middle","insertionSort","merge","element","llength","rlength","lindex","rindex","events","FullScreenEventType","ENTERFULLSCREEN","LEAVEFULLSCREEN","FullScreen","document","createElement","once","un","cssClassName_","activeClassName_","activeClassName","inactiveClassName_","inactiveClassName","labelNode_","createTextNode","labelActive","labelActiveNode_","button_","tipLabel","setClassName_","isFullScreen","setAttribute","appendChild","addEventListener","CLICK","handleClick_","bind","cssClasses","isFullScreenSupported","keys_","source_","event","preventDefault","handleFullScreen_","getMap","exitFullScreen","getElementById","getTargetElement","requestFullScreenWithKeys","requestFullScreen","handleFullScreenChange_","dispatchEvent","updateSize","fullscreen","_a","nextClassName","classList","remove","apply","add","listenerKeys","body","requestFullscreen","fullscreenEnabled","fullscreenElement","exitFullscreen","UA","prevent","prop","inputValue","falseValue","trueValue","multiple","lazyValue","isDark","appIsDark","internalValue","input","isMultiple","some","valueComparator","watch","val","assign","domProps","checked","blur","onBlur","change","onFocus","keydown","isInteractive","filter","validate"],"mappings":"kHACA,IAAIA,EAAY,EAAQ,QAEpBC,EAAUD,EAAUE,MAAM,mBAE9BC,EAAOC,UAAYH,IAAYA,EAAQ,I,uBCLvCE,EAAOC,QAAU,IAA0B,oC,oCCC3C,IAAIC,EAAc,EAAQ,QAEtBC,EAAaC,UAEjBJ,EAAOC,QAAU,SAAUI,EAAGC,GAC5B,WAAYD,EAAEC,GAAI,MAAMH,EAAW,0BAA4BD,EAAYI,GAAK,OAASJ,EAAYG,M,mBCNvGL,EAAOC,QAAU,slE,oCCAjB,kDAIe,sBAAO,QAAWM,OAAO,CACtCC,KAAM,iBACNC,MAAO,CACLC,MAAOC,QACPC,YAAaD,QACbE,OAAQ,CAACC,OAAQC,SAEnBC,SAAU,CACR,UACE,MAAO,CACL,sBAAuBC,KAAKP,MAC5B,+BAAgCO,KAAKJ,SAAWI,KAAKL,YACrD,6BAA8BK,KAAKL,eAChCK,KAAKC,gBAKdC,QAAS,CACP,aACE,OAAOF,KAAKG,OAAOC,SAAWJ,KAAKK,eAAe,MAAO,CACvDC,YAAa,wBACbC,MAAO,CACLX,OAAQ,eAAcI,KAAKJ,UAE5B,CAACI,KAAKK,eAAe,QAASL,KAAKG,OAAOK,aAKjD,OAAOC,GACL,OAAOA,EAAE,MAAO,CACdH,YAAa,eACbI,MAAOV,KAAKW,SACX,CAACX,KAAKG,OAAOS,IAAKZ,KAAKa,aAAcb,KAAKG,OAAOW,a,gDCtCxD/B,EAAOC,QAAU,IAA0B,oC,oECA3C,IAAI,EAAS,WAAa,IAAI+B,EAAIf,KAASgB,EAAGD,EAAIV,eAAmBY,EAAGF,EAAIG,MAAMD,IAAID,EAAG,OAAOC,EAAG,MAAM,CAACE,IAAI,YAAYb,YAAY,MAAMc,MAAM,CAAC,GAAK,QAAQ,CAACH,EAAG,WAAW,CAACX,YAAY,WAAWc,MAAM,CAAC,OAAS,KAAK,CAACH,EAAG,SAAS,CAACG,MAAM,CAAC,0BAAyB,EAAM,YAAY,MAAM,WAAa,qBAAqB,WAAW,GAAG,cAAc,KAAK,MAAQ,IAAIC,YAAYN,EAAIO,GAAG,CAAC,CAACC,IAAI,YAAYC,GAAG,SAASL,GACla,IAAIM,EAAKN,EAAIM,GACTL,EAAQD,EAAIC,MAChB,MAAO,CAACH,EAAG,YAAYF,EAAIW,GAAGX,EAAIY,GAAG,CAACP,MAAM,CAAC,MAAQ,IAAIC,YAAYN,EAAIO,GAAG,CAAC,CAACC,IAAI,YAAYC,GAAG,SAASL,GAC1G,IAAIM,EAAKN,EAAIM,GACTL,EAAQD,EAAIC,MAChB,MAAO,CAACH,EAAG,QAAQF,EAAIW,GAAGX,EAAIY,GAAG,CAACrB,YAAY,qBAAqBc,MAAM,CAAC,IAAM,GAAG,MAAQ,GAAG,MAAQ,QAAQ,MAAQ,IAAIK,GAAG,CAAC,MAAQ,SAASG,GAAQ,OAAOb,EAAIc,gBAAgB,QAAQT,GAAM,GAAOK,GAAI,CAACR,EAAG,SAAS,CAACF,EAAIe,GAAG,kBAAkB,OAAO,MAAK,IAAO,YAAYV,GAAM,GAAOK,GAAI,CAACR,EAAG,OAAO,CAACF,EAAIe,GAAG,mBAAmBC,MAAM,CAACC,MAAOjB,EAAsB,mBAAEkB,SAAS,SAAUC,GAAMnB,EAAIoB,mBAAmBD,GAAKE,WAAW,uBAAuB,CAACnB,EAAG,SAAS,CAACX,YAAY,aAAa,CAACW,EAAG,QAAQ,CAACoB,WAAW,CAAC,CAAC9C,KAAK,OAAO+C,QAAQ,SAASN,MAAmC,GAA5BjB,EAAIwB,mBAAmBC,GAAyC,GAA5BzB,EAAIwB,mBAAmBE,EAAWL,WAAW,kEAAkE,CAACnB,EAAG,QAAQ,CAACA,EAAG,gBAAgB,CAACX,YAAY,OAAOc,MAAM,CAAC,eAAe,GAAG,MAAQ,GAAG,IAAM,IAAIK,GAAG,CAAC,OAAS,SAASG,GAAQ,OAAOb,EAAI2B,uBAAuB3B,EAAI4B,yBAAyBZ,MAAM,CAACC,MAAOjB,EAAyB,sBAAEkB,SAAS,SAAUC,GAAMnB,EAAI4B,sBAAsBT,GAAKE,WAAW,0BAA0B,CAACnB,EAAG,UAAU,CAACG,MAAM,CAAC,MAAQ,aAAa,MAAQ,WAAWH,EAAG,UAAU,CAACG,MAAM,CAAC,MAAQ,SAAS,MAAQ,aAAa,IAAI,IAAI,GAAGH,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACA,EAAG,WAAW,CAACG,MAAM,CAAC,MAAQL,EAAI6B,iBAAiB,MAAQ,QAAQ,qBAAqB,gBAAgB,eAAe,GAAG,MAAQ,GAAG,KAAO,IAAInB,GAAG,CAAC,OAAS,SAASG,GAAQ,OAAOb,EAAI8B,mBAAmB9B,EAAI+B,4BAA4Bf,MAAM,CAACC,MAAOjB,EAA4B,yBAAEkB,SAAS,SAAUC,GAAMnB,EAAI+B,yBAAyBZ,GAAKE,WAAW,+BAA+B,IAAI,GAAGnB,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACA,EAAG,WAAW,CAACG,MAAM,CAAC,MAAQL,EAAIgC,kBAAkB,MAAQ,UAAU,qBAAqB,mBAAmB,SAA2C,IAAhChC,EAAI+B,yBAA+B,eAAe,GAAG,MAAQ,GAAG,KAAO,IAAIrB,GAAG,CAAC,OAAS,SAASG,GAAQ,OAAOb,EAAIiC,oBAAoBjC,EAAIkC,8BAA8BlB,MAAM,CAACC,MAAOjB,EAA8B,2BAAEkB,SAAS,SAAUC,GAAMnB,EAAIkC,2BAA2Bf,GAAKE,WAAW,iCAAiC,IAAI,IAAI,IAAI,GAAGnB,EAAG,YAAY,CAACG,MAAM,CAAC,MAAQ,IAAIC,YAAYN,EAAIO,GAAG,CAAC,CAACC,IAAI,YAAYC,GAAG,SAASL,GACvlE,IAAIM,EAAKN,EAAIM,GACTL,EAAQD,EAAIC,MAChB,MAAO,CAACH,EAAG,QAAQF,EAAIW,GAAGX,EAAIY,GAAG,CAACrB,YAAY,qBAAqBc,MAAM,CAAC,IAAM,GAAG,MAAQ,GAAG,MAAQ,QAAQ,MAAQ,IAAIK,GAAG,CAAC,MAAQ,SAASG,GAAQ,OAAOb,EAAImC,cAAc,QAAQ9B,GAAM,GAAOK,GAAI,CAACR,EAAG,SAAS,CAACF,EAAIe,GAAG,eAAe,SAAS,CAACb,EAAG,OAAO,CAACF,EAAIe,GAAG,YAAYb,EAAG,SAAS,CAACX,YAAY,OAAOc,MAAM,CAAC,0BAAyB,EAAM,cAAc,IAAI,WAAa,qBAAqB,WAAW,GAAG,cAAc,KAAK,MAAQ,IAAIC,YAAYN,EAAIO,GAAG,CAAC,CAACC,IAAI,YAAYC,GAAG,SAASL,GAC7e,IAAIM,EAAKN,EAAIM,GACTL,EAAQD,EAAIC,MAChB,MAAO,CAACH,EAAG,YAAYF,EAAIW,GAAGX,EAAIY,GAAG,CAACP,MAAM,CAAC,MAAQ,IAAIC,YAAYN,EAAIO,GAAG,CAAC,CAACC,IAAI,YAAYC,GAAG,SAASL,GAC1G,IAAIM,EAAKN,EAAIM,GACTL,EAAQD,EAAIC,MAChB,MAAO,CAACH,EAAG,QAAQF,EAAIW,GAAGX,EAAIY,GAAG,CAACrB,YAAY,qBAAqBc,MAAM,CAAC,IAAM,GAAG,MAAQ,GAAG,MAAQ,QAAQ,MAAQ,IAAIK,GAAG,CAAC,MAAQ,SAASG,GAAQb,EAAIoC,qBAAsB,KAAQ,QAAQ/B,GAAM,GAAOK,GAAI,CAACR,EAAG,SAAS,CAACF,EAAIe,GAAG,cAAc,OAAO,MAAK,IAAO,YAAYV,GAAM,GAAOK,GAAI,CAACR,EAAG,OAAO,CAACF,EAAIe,GAAG,oBAAoBC,MAAM,CAACC,MAAOjB,EAAuB,oBAAEkB,SAAS,SAAUC,GAAMnB,EAAIoC,oBAAoBjB,GAAKE,WAAW,wBAAwB,CAACnB,EAAG,SAAS,CAACA,EAAG,SAAS,CAACX,YAAY,QAAQS,EAAIqC,GAAIrC,EAAe,aAAE,SAASsC,EAAKC,GAAG,OAAOrC,EAAG,cAAc,CAACM,IAAI+B,EAAEhD,YAAY,sBAAsBmB,GAAG,CAAC,MAAQ,SAASG,GAAQ,OAAOb,EAAIwC,YAAYF,MAAS,CAACpC,EAAG,qBAAqB,CAACV,MAAO8C,EAAK9D,MAAQwB,EAAIyC,gBAAkB,8BAAgC,GAAIpC,MAAM,CAAC,KAAO,OAAO,CAACH,EAAG,MAAM,CAACG,MAAM,CAAC,IAAMiC,EAAKI,SAASxC,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACF,EAAIe,GAAGf,EAAI2C,GAAGL,EAAK9D,UAAU,IAAI,MAAK,IAAI,IAAI,GAAG0B,EAAG,SAAS,CAACX,YAAY,OAAOc,MAAM,CAAC,0BAAyB,EAAM,cAAc,IAAI,WAAa,qBAAqB,WAAW,GAAG,cAAc,KAAK,MAAQ,IAAIC,YAAYN,EAAIO,GAAG,CAAC,CAACC,IAAI,YAAYC,GAAG,SAASL,GACjoC,IAAIM,EAAKN,EAAIM,GACTL,EAAQD,EAAIC,MAChB,MAAO,CAACH,EAAG,YAAYF,EAAIW,GAAGX,EAAIY,GAAG,CAACP,MAAM,CAAC,MAAQ,IAAIC,YAAYN,EAAIO,GAAG,CAAC,CAACC,IAAI,YAAYC,GAAG,SAASL,GAC1G,IAAIM,EAAKN,EAAIM,GACTL,EAAQD,EAAIC,MAChB,MAAO,CAACH,EAAG,QAAQF,EAAIW,GAAGX,EAAIY,GAAG,CAACrB,YAAY,qBAAqBc,MAAM,CAAC,IAAM,GAAG,MAAQ,GAAG,MAAQ,QAAQ,MAAQ,IAAIK,GAAG,CAAC,MAAQ,SAASG,GAAQb,EAAI4C,yBAA0B,KAAQ,QAAQvC,GAAM,GAAOK,GAAI,CAACR,EAAG,SAAS,CAACF,EAAIe,GAAG,8BAA8B,OAAO,MAAK,IAAO,YAAYV,GAAM,GAAOK,GAAI,CAACR,EAAG,OAAO,CAACF,EAAIe,GAAG,wBAAwBC,MAAM,CAACC,MAAOjB,EAA2B,wBAAEkB,SAAS,SAAUC,GAAMnB,EAAI4C,wBAAwBzB,GAAKE,WAAW,4BAA4B,CAACnB,EAAG,SAAS,CAACA,EAAG,SAAS,CAACX,YAAY,QAAQS,EAAIqC,GAAIrC,EAAc,YAAE,SAASsC,EAAKC,GAAG,OAAOrC,EAAG,cAAc,CAACM,IAAI+B,EAAEhD,YAAY,0BAA0Bc,MAAM,CAAC,MAAQ,KAAK,CAACH,EAAG,qBAAqB,CAACG,MAAM,CAAC,KAAO,OAAO,CAACH,EAAG,MAAM,CAACG,MAAM,CAAC,IAAMiC,EAAKO,SAAS3C,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACF,EAAIe,GAAGf,EAAI2C,GAAGL,EAAKQ,UAAU,IAAI,MAAK,IAAI,IAAI,GAAG5C,EAAG,YAAY,CAACG,MAAM,CAAC,MAAQ,IAAIC,YAAYN,EAAIO,GAAG,CAAC,CAACC,IAAI,YAAYC,GAAG,SAASL,GAC76B,IAAIM,EAAKN,EAAIM,GACTL,EAAQD,EAAIC,MAChB,MAAO,CAACH,EAAG,QAAQF,EAAIW,GAAGX,EAAIY,GAAG,CAACjB,MAAyB,GAAnBK,EAAI+C,YAAsB,mBAAqB,qBAAqB1C,MAAM,CAAC,IAAM,GAAG,MAAQ,GAAG,MAA2B,GAAnBL,EAAI+C,YAAsB,UAAY,QAAQ,MAAQ,IAAIrC,GAAG,CAAC,MAAQ,SAASG,GAAQ,OAAOb,EAAIgD,aAAa,QAAQ3C,GAAM,GAAOK,GAAI,CAACR,EAAG,SAAS,CAACF,EAAIe,GAAG,qBAAqB,SAAS,CAACb,EAAG,OAAO,CAACF,EAAIe,GAAG,yBAAyBb,EAAG,YAAY,CAACG,MAAM,CAAC,MAAQ,IAAIC,YAAYN,EAAIO,GAAG,CAAC,CAACC,IAAI,YAAYC,GAAG,SAASL,GAC1c,IAAIM,EAAKN,EAAIM,GACTL,EAAQD,EAAIC,MAChB,MAAO,CAACH,EAAG,QAAQF,EAAIW,GAAGX,EAAIY,GAAG,CAACjB,MAAkC,GAA5BK,EAAIwB,mBAAmBC,EAAY,mBAAqB,qBAAqBpB,MAAM,CAAC,IAAM,GAAG,MAAQ,GAAG,MAAoC,GAA5BL,EAAIwB,mBAAmBC,EAAY,UAAY,QAAQ,MAAQ,IAAIf,GAAG,CAAC,MAAQ,SAASG,GAAQ,OAAOb,EAAIiD,YAAY,YAAY,QAAQ5C,GAAM,GAAOK,GAAI,CAACR,EAAG,KAAK,CAACA,EAAG,SAAS,CAACF,EAAIe,GAAG,iBAAiB,CAACb,EAAG,OAAO,CAACF,EAAIe,GAAG,0BAA0Bb,EAAG,YAAY,CAACG,MAAM,CAAC,MAAQ,IAAIC,YAAYN,EAAIO,GAAG,CAAC,CAACC,IAAI,YAAYC,GAAG,SAASL,GACpe,IAAIM,EAAKN,EAAIM,GACTL,EAAQD,EAAIC,MAChB,MAAO,CAACH,EAAG,QAAQF,EAAIW,GAAGX,EAAIY,GAAG,CAACjB,MAAkC,GAA5BK,EAAIwB,mBAAmBE,EAAY,mBAAqB,qBAAqBrB,MAAM,CAAC,IAAM,GAAG,MAAQ,GAAG,MAAoC,GAA5BL,EAAIwB,mBAAmBE,EAAY,UAAY,QAAQ,MAAQ,IAAIhB,GAAG,CAAC,MAAQ,SAASG,GAAQ,OAAOb,EAAIiD,YAAY,aAAa,QAAQ5C,GAAM,GAAOK,GAAI,CAACR,EAAG,KAAK,CAACA,EAAG,SAAS,CAACF,EAAIe,GAAG,iBAAiB,CAACb,EAAG,OAAO,CAACF,EAAIe,GAAG,sBAAsBb,EAAG,YAAY,CAACG,MAAM,CAAC,MAAQ,IAAIC,YAAYN,EAAIO,GAAG,CAAC,CAACC,IAAI,YAAYC,GAAG,SAASL,GACje,IAAIM,EAAKN,EAAIM,GACTL,EAAQD,EAAIC,MAChB,MAAO,CAACH,EAAG,QAAQF,EAAIW,GAAGX,EAAIY,GAAG,CAACjB,MAAmC,GAA7BK,EAAIwB,mBAAmB0B,GAAa,mBAAqB,qBAAqB7C,MAAM,CAAC,IAAM,GAAG,MAAQ,GAAG,MAAqC,GAA7BL,EAAIwB,mBAAmB0B,GAAa,UAAY,QAAQ,MAAQ,IAAIxC,GAAG,CAAC,MAAQ,SAASG,GAAQ,OAAOb,EAAIiD,YAAY,mBAAmB,QAAQ5C,GAAM,GAAOK,GAAI,CAACR,EAAG,KAAK,CAACA,EAAG,SAAS,CAACF,EAAIe,GAAG,kBAAkB,CAACb,EAAG,OAAO,CAACF,EAAIe,GAAG,2BAA2Bb,EAAG,YAAY,CAACG,MAAM,CAAC,MAAQ,IAAIC,YAAYN,EAAIO,GAAG,CAAC,CAACC,IAAI,YAAYC,GAAG,SAASL,GAC/e,IAAIM,EAAKN,EAAIM,GACTL,EAAQD,EAAIC,MAChB,MAAO,CAACH,EAAG,QAAQF,EAAIW,GAAGX,EAAIY,GAAG,CAACjB,MAAmC,GAA7BK,EAAIwB,mBAAmB2B,GAAa,mBAAqB,qBAAqB9C,MAAM,CAAC,IAAM,GAAG,MAAQ,GAAG,MAAqC,GAA7BL,EAAIwB,mBAAmB2B,GAAa,UAAY,QAAQ,MAAQ,IAAIzC,GAAG,CAAC,MAAQ,SAASG,GAAQ,OAAOb,EAAIiD,YAAY,qBAAqB,QAAQ5C,GAAM,GAAOK,GAAI,CAACR,EAAG,KAAK,CAACA,EAAG,SAAS,CAACF,EAAIe,GAAG,kBAAkB,CAACb,EAAG,OAAO,CAACF,EAAIe,GAAG,uBAAuB,GAAGb,EAAG,WAAW,CAACX,YAAY,YAAYc,MAAM,CAAC,OAAS,KAAK,CAACH,EAAG,SAAS,CAACX,YAAY,OAAOc,MAAM,CAAC,kBAAiB,EAAM,0BAAyB,EAAM,YAAY,MAAM,YAAY,MAAM,aAAa,MAAM,aAAa,MAAM,WAAa,qBAAqB,OAAS,aAAa,KAAO,GAAG,SAAW,cAAcW,MAAM,CAACC,MAAOjB,EAA+B,4BAAEkB,SAAS,SAAUC,GAAMnB,EAAIoD,4BAA4BjC,GAAKE,WAAW,gCAAgC,CAACnB,EAAG,SAAS,CAACX,YAAY,QAAQ,CAACW,EAAG,eAAe,CAACoB,WAAW,CAAC,CAAC9C,KAAK,OAAO+C,QAAQ,SAASN,MAAkD,OAA3CjB,EAAIqD,8BAA8BC,MAAgBjC,WAAW,iDAAiD9B,YAAY,yBAAyB,CAACW,EAAG,YAAYA,EAAG,YAAY,CAACG,MAAM,CAAC,OAAS,IAAIC,YAAYN,EAAIO,GAAG,CAAC,CAACC,IAAI,YAAYC,GAAG,SAASL,GACltC,IAAIM,EAAKN,EAAIM,GACTL,EAAQD,EAAIC,MAChB,MAAO,CAACH,EAAG,QAAQF,EAAIW,GAAGX,EAAIY,GAAG,CAACP,MAAM,CAAC,KAAO,GAAG,KAAO,GAAG,MAAQ,IAAIK,GAAG,CAAC,MAAQ,SAASG,GAAQb,EAAIoD,6BAA8B,KAAS,QAAQ/C,GAAM,GAAOK,GAAI,CAACR,EAAG,SAAS,CAACF,EAAIe,GAAG,sBAAsB,SAAS,CAACf,EAAIe,GAAG,aAAab,EAAG,cAAc,CAACA,EAAG,cAAc,CAACX,YAAY,YAAYc,MAAM,CAAC,KAAO,GAAG,aAAa,KAAK,CAACH,EAAG,sBAAsB,CAACX,YAAY,oBAAoB,CAACW,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACA,EAAG,SAAS,CAACX,YAAY,OAAOc,MAAM,CAAC,UAAU,KAAK,CAACL,EAAIe,GAAG,+BAA+Bf,EAAIe,GAAG,wBAAwB,IAAI,IAAI,GAAGb,EAAG,sBAAsB,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACF,EAAIe,GAAG,6BAA6Bf,EAAI2C,GAAG3C,EAAIqD,8BAA8BE,OAAO,QAAQ,IAAI,IAAI,IAAI,IAAI,GAAGrD,EAAG,eAAe,CAACoB,WAAW,CAAC,CAAC9C,KAAK,OAAO+C,QAAQ,SAASN,MAAkD,OAA3CjB,EAAIqD,8BAA8BC,MAAgBjC,WAAW,iDAAiD9B,YAAY,oBAAoB,CAACW,EAAG,YAAYA,EAAG,YAAY,CAACG,MAAM,CAAC,OAAS,IAAIC,YAAYN,EAAIO,GAAG,CAAC,CAACC,IAAI,YAAYC,GAAG,SAASL,GACrgC,IAAIM,EAAKN,EAAIM,GACTL,EAAQD,EAAIC,MAChB,MAAO,CAACH,EAAG,QAAQF,EAAIW,GAAGX,EAAIY,GAAG,CAACP,MAAM,CAAC,KAAO,GAAG,KAAO,GAAG,MAAQ,IAAIK,GAAG,CAAC,MAAQ,SAASG,GAAQ,OAAOb,EAAIwD,sCAAsC,QAAQnD,GAAM,GAAOK,GAAI,CAACR,EAAG,SAAS,CAACF,EAAIe,GAAG,sBAAsB,SAAS,CAACf,EAAIe,GAAG,aAAab,EAAG,cAAc,CAACA,EAAG,cAAc,CAACX,YAAY,YAAYc,MAAM,CAAC,aAAa,GAAG,KAAO,KAAK,CAACH,EAAG,sBAAsB,CAACX,YAAY,oBAAoB,CAACW,EAAG,QAAQ,CAA+B,GAA7BF,EAAIwB,mBAAmB0B,GAAahD,EAAG,QAAQ,CAACX,YAAY,UAAU,CAACW,EAAG,SAAS,CAACX,YAAY,OAAOc,MAAM,CAAC,MAAQ,KAAK,CAACL,EAAIe,GAAG,+BAA+Bf,EAAIe,GAAG,aAAaf,EAAI2C,GAAG3C,EAAIqD,8BAA8BI,WAAW,MAAM,GAAiC,GAA7BzD,EAAIwB,mBAAmB0B,GAAYhD,EAAG,QAAQ,CAACX,YAAY,UAAU,CAACW,EAAG,SAAS,CAACX,YAAY,OAAOc,MAAM,CAAC,MAAQ,KAAK,CAACL,EAAIe,GAAG,+BAA+Bf,EAAIe,GAAG,aAAaf,EAAI2C,GAAG3C,EAAIqD,8BAA8BI,WAAW,MAAM,GAAGzD,EAAI0D,MAAM,IAAI,GAAiC,GAA7B1D,EAAIwB,mBAAmB0B,GAAahD,EAAG,sBAAsB,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACF,EAAIe,GAAG,eAAef,EAAI2C,GAAG3C,EAAIqD,8BAA8BM,UAAU,QAAQ,GAAGzD,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACX,YAAY,QAAQ,CAACS,EAAIe,GAAG,mBAAmBf,EAAIe,GAAG,IAAIf,EAAI2C,GAAG,IAAIiB,KAAK5D,EAAIqD,8BAA8BQ,UAAUC,mBAAmB,SAAW,KAAO,IAAIF,KAAK5D,EAAIqD,8BAA8BQ,UAAUE,sBAAsB,QAAQ,IAAI,GAAG/D,EAAI0D,KAAmC,GAA7B1D,EAAIwB,mBAAmB0B,GAAYhD,EAAG,sBAAsB,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACF,EAAIe,GAAG,gBAAgBf,EAAI2C,GAAG3C,EAAIqD,8BAA8BW,OAAOC,UAAU,QAAQ,GAAG/D,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACX,YAAY,QAAQ,CAACS,EAAIe,GAAG,iBAAiBf,EAAI2C,GAAG3C,EAAIqD,8BAA8BW,OAAOE,WAAW,QAAQ,IAAI,GAAGlE,EAAI0D,MAAM,IAAI,IAAI,GAAGxD,EAAG,cAAc,CAACX,YAAY,aAAa,CAACW,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACA,EAAG,qBAAqB,CAACc,MAAM,CAACC,MAAOjB,EAAiC,8BAAEkB,SAAS,SAAUC,GAAMnB,EAAImE,8BAA8BhD,GAAKE,WAAW,kCAAkC,CAACnB,EAAG,oBAAoB,CAACoB,WAAW,CAAC,CAAC9C,KAAK,OAAO+C,QAAQ,SAASN,MAAkD,SAA3CjB,EAAIqD,8BAA8BC,OAA+D,UAA3CtD,EAAIqD,8BAA8BC,OAAgE,iBAA3CtD,EAAIqD,8BAA8BC,MAA0BjC,WAAW,gKAAgKhB,MAAM,CAAC,OAAS,KAAK,CAACH,EAAG,2BAA2B,CAACA,EAAG,OAAO,CAACX,YAAY,oBAAoB,CAACS,EAAIe,GAAG,iBAAiBb,EAAG,4BAA4B,CAACA,EAAG,SAAS,CAACA,EAAG,iBAAiB,CAACG,MAAM,CAAC,eAAe,GAAG,OAAoD,SAA3CL,EAAIqD,8BAA8BC,MAAmB,MAAQ,MAAM,MAAQ,IAAIhD,YAAYN,EAAIO,GAAG,CAAC,CAACC,IAAI,UAAUC,GAAG,WAAW,MAAO,CAACP,EAAG,QAAQ,CAACA,EAAG,KAAKF,EAAIqC,GAAIrC,EAA+B,6BAAE,SAASsC,EAAKC,GAAG,OAAOrC,EAAG,KAAK,CAACM,IAAI+B,EAAEhD,YAAY,YAAY6E,YAAY,CAAC,WAAa,UAAU,MAAQ,QAAQ,cAAc,WAAW,CAACpE,EAAIe,GAAG,IAAIf,EAAI2C,GAAGL,GAAM,UAAS,KAAKpC,EAAG,QAAQF,EAAIqC,GAAIrC,EAA+B,6BAAE,SAASsC,EAAK+B,GAAG,OAAOnE,EAAG,KAAK,CAACM,IAAI6D,EAAE1E,MAAmB,IAAb2C,EAAKgC,KAA0B,UAAbhC,EAAKgC,KAAmB,UAAyB,OAAbhC,EAAKgC,KAAgB,aAAe,GAAK,IAAI,CAACpE,EAAG,KAAK,CAACX,YAAY,eAAe,CAAiB,KAAf+C,EAAKiC,OAAerE,EAAG,SAAS,CAACX,YAAY,mBAAmBc,MAAM,CAAC,MAAQ,KAAK,CAACL,EAAIe,GAAG,gBAAgC,MAAfuB,EAAKiC,OAAgBrE,EAAG,SAAS,CAACX,YAAY,gBAAgBc,MAAM,CAAC,MAAQ,KAAK,CAACL,EAAIe,GAAG,gBAAgC,OAAfuB,EAAKiC,OAAiBrE,EAAG,SAAS,CAACX,YAAY,eAAec,MAAM,CAAC,MAAQ,KAAK,CAACL,EAAIe,GAAG,gBAAgC,MAAfuB,EAAKiC,OAAgBrE,EAAG,SAAS,CAACX,YAAY,eAAec,MAAM,CAAC,MAAQ,KAAK,CAACL,EAAIe,GAAG,gBAAgC,KAAfuB,EAAKiC,OAAerE,EAAG,SAAS,CAACX,YAAY,YAAYc,MAAM,CAAC,MAAQ,KAAK,CAACL,EAAIe,GAAG,gBAAgC,MAAfuB,EAAKiC,OAAgBrE,EAAG,SAAS,CAACX,YAAY,aAAac,MAAM,CAAC,MAAQ,KAAK,CAACL,EAAIe,GAAG,gBAAgBf,EAAI0D,MAAM,GAAGxD,EAAG,KAAK,CAACF,EAAIe,GAAGf,EAAI2C,GAAGL,EAAKkC,aAAatE,EAAG,KAAK,MAAeuE,GAAbnC,EAAKoC,KAAmBxE,EAAG,OAAO,CAAe,MAAboC,EAAKoC,MAA6B,IAAbpC,EAAKoC,KAAYxE,EAAG,OAAO,CAAsB,MAAnBoC,EAAKqC,YAAyC,IAAnBrC,EAAKqC,YAAkC,MAAbrC,EAAKsC,KAAc1E,EAAG,OAAO,CAACF,EAAIe,GAAG,IAAIf,EAAI2C,GAAGL,EAAKqC,YAAY,IAAI3E,EAAI2C,GAAGL,EAAKsC,MAAM,OAA2B,MAAnBtC,EAAKqC,WAAoBzE,EAAG,OAAO,CAACF,EAAIe,GAAG,IAAIf,EAAI2C,GAAGL,EAAKqC,YAAY,OAAO3E,EAAI0D,OAAOxD,EAAG,OAAO,CAACX,YAAY,8BAA8B,CAACS,EAAIe,GAAG,IAAIf,EAAI2C,GAAGL,EAAKoC,MAAM,SAASxE,EAAG,OAAO,CAAsB,MAAnBoC,EAAKqC,YAAyC,IAAnBrC,EAAKqC,YAAkC,MAAbrC,EAAKsC,KAAc1E,EAAG,OAAO,CAACF,EAAIe,GAAG,IAAIf,EAAI2C,GAAGL,EAAKqC,YAAY,IAAI3E,EAAI2C,GAAGL,EAAKsC,MAAM,OAAO1E,EAAG,OAAO,CAACF,EAAIe,GAAG,IAAIf,EAAI2C,GAAGL,EAAKqC,YAAY,WAAWzE,EAAG,KAAK,CAACX,YAAY,eAAe,CAACS,EAAIe,GAAGf,EAAI2C,GAAGL,EAAKuC,cAAc3E,EAAG,KAAK,CAACX,YAAY,eAAe,CAA6B,MAA3B+C,EAAKwC,mBAA4B5E,EAAG,OAAO,CAACF,EAAIe,GAAG,IAAIf,EAAI2C,GAAGL,EAAKwC,oBAAoB,IAAI9E,EAAI2C,GAAGL,EAAKsC,MAAM,OAAmC,MAA3BtC,EAAKwC,mBAA4B5E,EAAG,OAAO,CAACF,EAAIe,GAAG,IAAIf,EAAI2C,GAAGL,EAAKwC,oBAAoB,OAAO9E,EAAI0D,YAAW,KAAKqB,OAAM,OAAsD,UAA3C/E,EAAIqD,8BAA8BC,OAAgE,iBAA3CtD,EAAIqD,8BAA8BC,MAA0BpD,EAAG,IAAI,CAACX,YAAY,OAAO6E,YAAY,CAAC,YAAY,SAAS,aAAa,SAAS,CAAClE,EAAG,IAAI,CAACF,EAAIe,GAAG,YAAYb,EAAG,SAAS,CAACX,YAAY,OAAOc,MAAM,CAAC,MAAQ,SAAS,MAAQ,KAAK,CAACL,EAAIe,GAAG,gBAAgBf,EAAIe,GAAG,KAAKb,EAAG,OAAO,CAACX,YAAY,QAAQ,CAACS,EAAIe,GAAG,aAAab,EAAG,SAAS,CAACG,MAAM,CAAC,MAAQ,MAAM,MAAQ,KAAK,CAACL,EAAIe,GAAG,gBAAgBf,EAAIe,GAAG,KAAKb,EAAG,OAAO,CAACF,EAAIe,GAAG,iBAAiB,KAAKf,EAAI0D,MAAM,IAAI,IAAI,GAAGxD,EAAG,oBAAoB,CAACG,MAAM,CAAC,OAAS,GAAG,SAAsD,SAA3CL,EAAIqD,8BAA8BC,OAA+D,UAA3CtD,EAAIqD,8BAA8BC,OAAgE,iBAA3CtD,EAAIqD,8BAA8BC,QAA2B,CAACpD,EAAG,2BAA2B,CAACG,MAAM,CAAC,eAA0D,SAA3CL,EAAIqD,8BAA8BC,OAA+D,UAA3CtD,EAAIqD,8BAA8BC,OAAgE,iBAA3CtD,EAAIqD,8BAA8BC,QAA2B,CAA6C,OAA3CtD,EAAIqD,8BAA8BC,MAAgBpD,EAAG,OAAO,CAACX,YAAY,oBAAoB,CAACS,EAAIe,GAAG,iCAAiCb,EAAG,OAAO,CAACX,YAAY,oBAAoB,CAACS,EAAIe,GAAG,yBAAyBb,EAAG,4BAA4B,CAACX,YAAY,OAAO6E,YAAY,CAAC,OAAS,QAAQ,SAAW,SAAS,CAAClE,EAAG,QAAQ,CAACoB,WAAW,CAAC,CAAC9C,KAAK,OAAO+C,QAAQ,SAASN,MAAkD,OAA3CjB,EAAIqD,8BAA8BC,MAAgBjC,WAAW,kDAAkD,CAACnB,EAAG,QAAQ,CAACG,MAAM,CAAC,KAAO,MAAM,CAACL,EAAIe,GAAG,YAAYb,EAAG,QAAQ,CAACF,EAAIe,GAAG,MAAMf,EAAI2C,GAAG3C,EAAIqD,8BAA8BE,OAAO,QAAQ,GAAGrD,EAAG,QAAQ,CAACoB,WAAW,CAAC,CAAC9C,KAAK,OAAO+C,QAAQ,SAASN,MAAkD,SAA3CjB,EAAIqD,8BAA8BC,OAA+D,UAA3CtD,EAAIqD,8BAA8BC,OAAgE,iBAA3CtD,EAAIqD,8BAA8BC,MAA0BjC,WAAW,iKAAiK,CAACnB,EAAG,QAAQ,CAACG,MAAM,CAAC,KAAO,MAAM,CAACL,EAAIe,GAAG,kBAAkBb,EAAG,QAAQ,CAACF,EAAIe,GAAG,MAAMf,EAAI2C,GAAG3C,EAAIqD,8BAA8BI,WAAW,QAAQ,GAAGvD,EAAG,QAAQ,CAACoB,WAAW,CAAC,CAAC9C,KAAK,OAAO+C,QAAQ,SAASN,MAAkD,eAA3CjB,EAAIqD,8BAA8BC,MAAwBjC,WAAW,0DAA0D,CAACnB,EAAG,QAAQ,CAACG,MAAM,CAAC,KAAO,MAAM,CAACL,EAAIe,GAAG,eAAeb,EAAG,QAAQ,CAACF,EAAIe,GAAG,MAAMf,EAAI2C,GAAG3C,EAAIqD,8BAA8B2B,QAAQ,QAAQ,GAAG9E,EAAG,QAAQ,CAACoB,WAAW,CAAC,CAAC9C,KAAK,OAAO+C,QAAQ,SAASN,MAAkD,SAA3CjB,EAAIqD,8BAA8BC,OAA+D,UAA3CtD,EAAIqD,8BAA8BC,OAAgE,iBAA3CtD,EAAIqD,8BAA8BC,MAA0BjC,WAAW,iKAAiK,CAACnB,EAAG,QAAQ,CAACG,MAAM,CAAC,KAAO,MAAM,CAACL,EAAIe,GAAG,wBAAwBb,EAAG,QAAQ,CAACF,EAAIe,GAAG,MAAMf,EAAI2C,GAAG3C,EAAIqD,8BAA8BM,UAAU,QAAQ,GAAGzD,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACG,MAAM,CAAC,KAAO,MAAM,CAACL,EAAIe,GAAG,iBAAiBb,EAAG,QAAQ,CAACF,EAAIe,GAAG,MAAMf,EAAI2C,GAAG3C,EAAIqD,8BAA8B4B,MAAM,QAAQ,GAAG/E,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACG,MAAM,CAAC,KAAO,MAAM,CAACL,EAAIe,GAAG,gBAAgBb,EAAG,QAAQ,CAACF,EAAIe,GAAG,MAAMf,EAAI2C,GAAG3C,EAAIqD,8BAA8B6B,KAAK,QAAQ,GAAGhF,EAAG,QAAQ,CAACoB,WAAW,CAAC,CAAC9C,KAAK,OAAO+C,QAAQ,SAASN,MAAkD,OAA3CjB,EAAIqD,8BAA8BC,MAAgBjC,WAAW,kDAAkD,CAACnB,EAAG,QAAQ,CAACG,MAAM,CAAC,KAAO,MAAM,CAACL,EAAIe,GAAG,mBAAmBb,EAAG,QAAQ,CAACF,EAAIe,GAAG,MAAMf,EAAI2C,GAAG3C,EAAIqD,8BAA8BW,QAAQ,QAAQ,GAAG9D,EAAG,QAAQ,CAACoB,WAAW,CAAC,CAAC9C,KAAK,OAAO+C,QAAQ,SAASN,MAAkD,eAA3CjB,EAAIqD,8BAA8BC,MAAwBjC,WAAW,0DAA0D,CAACnB,EAAG,QAAQ,CAACX,YAAY,iCAAiCc,MAAM,CAAC,KAAO,MAAM,CAACL,EAAIe,GAAG,sBAAsBb,EAAG,QAAQ,CAACX,YAAY,QAAQ,CAACS,EAAIe,GAAG,UAAU,GAAGb,EAAG,QAAQ,CAACoB,WAAW,CAAC,CAAC9C,KAAK,OAAO+C,QAAQ,SAASN,MAAkD,eAA3CjB,EAAIqD,8BAA8BC,MAAwBjC,WAAW,0DAA0D,CAACnB,EAAG,QAAQ,CAACX,YAAY,QAAQ,CAACW,EAAG,WAAW,CAACG,MAAM,CAAC,eAAe,GAAG,MAAQ,GAAG,MAAQ,GAAG,QAAUL,EAAImF,oCAAoC,MAAQ,+CAA+CzE,GAAG,CAAC,OAAS,SAASG,GAAQ,OAAOb,EAAIoF,+BAA+BpF,EAAIqD,8BAA8B2B,OAAQhF,EAAIqF,qCAAqCrE,MAAM,CAACC,MAAOjB,EAAqC,kCAAEkB,SAAS,SAAUC,GAAMnB,EAAIqF,kCAAkClE,GAAKE,WAAW,wCAAwC,IAAI,GAAGnB,EAAG,QAAQ,CAACoB,WAAW,CAAC,CAAC9C,KAAK,OAAO+C,QAAQ,SAASN,MAAgD,GAAzCjB,EAAIqF,kCAA2ChE,WAAW,+CAA+C,CAACnB,EAAG,QAAQ,CAACX,YAAY,QAAQ,CAACW,EAAG,SAAS,CAACX,YAAY,OAAOc,MAAM,CAAC,SAAW,GAAG,UAAY,MAAM,CAACH,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACX,YAAY,mDAAmD,CAACS,EAAIe,GAAG,iCAAiC,GAAGb,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACX,YAAY,OAAOc,MAAM,CAAC,KAAO,MAAM,CAACL,EAAIe,GAAG,gBAAgBb,EAAG,QAAQ,CAACF,EAAIe,GAAG,MAAMf,EAAI2C,GAAG3C,EAAIsF,2BAA2BC,IAAI,QAAQ,GAAGrF,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACX,YAAY,OAAOc,MAAM,CAAC,KAAO,MAAM,CAACL,EAAIe,GAAG,aAAab,EAAG,QAAQ,CAACF,EAAIe,GAAG,MAAMf,EAAI2C,GAAG3C,EAAIsF,2BAA2BE,OAAO,QAAQ,GAAGtF,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACX,YAAY,OAAOc,MAAM,CAAC,KAAO,MAAM,CAACL,EAAIe,GAAG,iBAAiBb,EAAG,QAAQ,CAACF,EAAIe,GAAG,MAAMf,EAAI2C,GAAG3C,EAAIsF,2BAA2BG,MAAM,QAAQ,GAAGvF,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACX,YAAY,OAAOc,MAAM,CAAC,KAAO,MAAM,CAACL,EAAIe,GAAG,gBAAgBb,EAAG,QAAQ,CAACF,EAAIe,GAAG,MAAMf,EAAI2C,GAAG3C,EAAIsF,2BAA2BI,KAAK,QAAQ,GAAGxF,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACX,YAAY,OAAOc,MAAM,CAAC,KAAO,MAAM,CAACL,EAAIe,GAAG,wBAAwBb,EAAG,QAAQ,CAACF,EAAIe,GAAG,UAAU,GAAGb,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACG,MAAM,CAAC,KAAO,OAAO,CAACH,EAAG,QAAQ,CAACG,MAAM,CAAC,aAAa,MAAM,YAAY,MAAM,IAAML,EAAIsF,2BAA2BK,UAAU,IAAI,IAAI,IAAI,IAAI,GAAGzF,EAAG,QAAQ,CAACoB,WAAW,CAAC,CAAC9C,KAAK,OAAO+C,QAAQ,SAASN,MAAkD,OAA3CjB,EAAIqD,8BAA8BC,MAAgBjC,WAAW,kDAAkD,CAACnB,EAAG,QAAQ,CAACG,MAAM,CAAC,KAAO,MAAM,CAACL,EAAIe,GAAG,iCAAiCb,EAAG,QAAQ,MAA2CuE,GAAzCzE,EAAIqD,8BAA8BR,KAA6D,IAAzC7C,EAAIqD,8BAA8BR,IAAW3C,EAAG,OAAO,CAACA,EAAG,QAAQ,CAACG,MAAM,CAAC,OAAS,MAAM,MAAQ,MAAM,aAAa,MAAM,YAAY,MAAM,IAAML,EAAIqD,8BAA8BR,QAAQ,GAAG3C,EAAG,OAAO,CAACF,EAAIe,GAAG,iBAAiB,GAAGb,EAAG,QAAQ,CAACoB,WAAW,CAAC,CAAC9C,KAAK,OAAO+C,QAAQ,SAASN,MAAkD,OAA3CjB,EAAIqD,8BAA8BC,OAA6D,eAA3CtD,EAAIqD,8BAA8BC,MAAwBjC,WAAW,0GAA0G,CAACnB,EAAG,QAAQ,CAACG,MAAM,CAAC,KAAO,MAAM,CAACL,EAAIe,GAAG,uBAAuBb,EAAG,QAAQ,CAA4D,IAA1DF,EAAIqD,8BAA8BuC,aAAaC,SAA8E,IAA7D7F,EAAIqD,8BAA8BuC,aAAaE,YAA+E,IAA3D9F,EAAIqD,8BAA8BuC,aAAaG,UAA+E,IAA7D/F,EAAIqD,8BAA8BuC,aAAaI,YAA8E,MAA1DhG,EAAIqD,8BAA8BuC,aAAaC,SAAgF,MAA7D7F,EAAIqD,8BAA8BuC,aAAaE,YAAiF,MAA3D9F,EAAIqD,8BAA8BuC,aAAaG,UAAiF,MAA7D/F,EAAIqD,8BAA8BuC,aAAaI,WAAoB9F,EAAG,OAAO,CAACF,EAAIe,GAAG,cAAcb,EAAG,OAAO,CAACF,EAAIe,GAAG,YAAY,GAAGb,EAAG,QAAQ,CAACoB,WAAW,CAAC,CAAC9C,KAAK,OAAO+C,QAAQ,SAASN,MAAkD,OAA3CjB,EAAIqD,8BAA8BC,OAA6D,eAA3CtD,EAAIqD,8BAA8BC,MAAwBjC,WAAW,yGAAyG9B,YAAY,+BAA+B,CAA4D,IAA1DS,EAAIqD,8BAA8BuC,aAAaC,SAA8E,MAA7D7F,EAAIqD,8BAA8BuC,aAAaE,WAAoB5F,EAAG,QAAQ,CAACG,MAAM,CAAC,KAAO,SAAS,CAACH,EAAG,QAAQ,CAACX,YAAY,wBAAwBc,MAAM,CAAC,OAAS,MAAM,MAAQ,MAAM,aAAa,MAAM,YAAY,OAAOK,GAAG,CAAC,MAAQ,SAASG,GAAQ,OAAOb,EAAIiG,WAAWjG,EAAIqD,8BAA8BuC,aAAaC,aAAa3F,EAAG,MAAM,CAACX,YAAY,eAAe,CAACS,EAAIe,GAAG,cAAc,GAAGf,EAAI0D,KAAmE,IAA7D1D,EAAIqD,8BAA8BuC,aAAaE,YAAiF,MAA7D9F,EAAIqD,8BAA8BuC,aAAaE,WAAoB5F,EAAG,QAAQ,CAACG,MAAM,CAAC,KAAO,SAAS,CAACH,EAAG,QAAQ,CAACG,MAAM,CAAC,OAAS,MAAM,MAAQ,MAAM,aAAa,MAAM,YAAY,MAAM,IAAML,EAAIqD,8BAA8BuC,aAAaE,YAAYpF,GAAG,CAAC,MAAQ,SAASG,GAAQ,OAAOb,EAAIiG,WAAWjG,EAAIqD,8BAA8BuC,aAAaE,gBAAgB5F,EAAG,MAAM,CAACX,YAAY,eAAe,CAACS,EAAIe,GAAG,iBAAiB,GAAGf,EAAI0D,KAAiE,IAA3D1D,EAAIqD,8BAA8BuC,aAAaG,UAA+E,MAA7D/F,EAAIqD,8BAA8BuC,aAAaE,WAAoB5F,EAAG,QAAQ,CAACG,MAAM,CAAC,KAAO,SAAS,CAACH,EAAG,QAAQ,CAACG,MAAM,CAAC,OAAS,MAAM,MAAQ,MAAM,aAAa,MAAM,YAAY,MAAM,IAAML,EAAIqD,8BAA8BuC,aAAaG,UAAUrF,GAAG,CAAC,MAAQ,SAASG,GAAQ,OAAOb,EAAIiG,WAAWjG,EAAIqD,8BAA8BuC,aAAaG,cAAc7F,EAAG,MAAM,CAACX,YAAY,eAAe,CAACS,EAAIe,GAAG,eAAe,GAAGf,EAAI0D,KAAmE,IAA7D1D,EAAIqD,8BAA8BuC,aAAaI,YAAiF,MAA7DhG,EAAIqD,8BAA8BuC,aAAaE,WAAoB5F,EAAG,QAAQ,CAACG,MAAM,CAAC,KAAO,SAAS,CAACH,EAAG,QAAQ,CAACG,MAAM,CAAC,OAAS,MAAM,MAAQ,MAAM,aAAa,MAAM,YAAY,MAAM,IAAML,EAAIqD,8BAA8BuC,aAAaI,YAAYtF,GAAG,CAAC,MAAQ,SAASG,GAAQ,OAAOb,EAAIiG,WAAWjG,EAAIqD,8BAA8BuC,aAAaI,gBAAgB9F,EAAG,MAAM,CAACX,YAAY,eAAe,CAACS,EAAIe,GAAG,iBAAiB,GAAGf,EAAI0D,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAC1/cwC,EAAkB,G,gVCspBP,GAEbC,KAAMA,WAAR,OAGA3E,oBACAC,KACAC,KACAwB,MACAC,OAEAiD,YACA,CACQpI,OAAQA,QACRmI,KAAMA,IAEd,CACQnI,OAAQA,SACRmI,KAAMA,IAEd,CACQnI,OAAQA,cACRmI,KAAMA,IAEd,CACQnI,OAAQA,gBACRmI,KAAMA,KAOdE,SACAC,UACAjD,+BACAI,aACAE,YACAE,YACAG,UACAnB,OACA+C,cACAC,WACAC,cACAC,YACAC,eAEA1C,UAEAiD,gBACA,mBACA,kBACA,mBACA,oBAEAC,oBACA,CACQxI,OAAQA,MACRmI,KAAMA,IAEd,CACQnI,OAAQA,QACRmI,KAAMA,IAEd,CACQnI,OAAQA,SACRmI,KAAMA,IAEd,CACQnI,OAAQA,cACRmI,KAAMA,IAEd,CACQnI,OAAQA,gBACRmI,KAAMA,KAGdM,WAGAC,6BACA,IACA,YACA,eACA,YACA,sBAEAC,+BACAxC,gCACAmB,4BACAC,MACAqB,YACApB,SACA5B,QACAiD,UACAnB,OACAD,QACAE,SACAmB,UACAC,UAMAnF,yBACAR,sBACAS,oBACAE,4BACAC,qBACAE,8BACA8E,aACA,CACQxI,KAAMA,QACNyI,OAAQA,CAACA,mBAAoBA,kBAAoBA,mBAAoBA,oBAE7E,CACQzI,KAAMA,QACNyI,OAAQA,CAACA,kBAAmBA,kBAAmBA,mBAAoBA,oBAE3E,CACQzI,KAAMA,WACNyI,OAAQA,CAACA,mBAAoBA,iBAAkBA,mBAAoBA,oBAE3E,CACQzI,KAAMA,SACNyI,OAAQA,CAACA,mBAAoBA,mBAAoBA,mBAAoBA,oBAE7E,CACQzI,KAAMA,kBACNyI,OAAQA,CAACA,mBAAoBA,kBAAmBA,mBAAoBA,oBAE5E,CACQzI,KAAMA,SACNyI,OAAQA,CAACA,mBAAoBA,mBAAoBA,mBAAoBA,oBAE7E,CACQzI,KAAMA,eACNyI,OAAQA,CAACA,kBAAmBA,iBAAkBA,mBAAoBA,oBAE1E,CACQzI,KAAMA,QACNyI,OAAQA,CAACA,kBAAmBA,eAAgBA,mBAAoBA,oBAExE,CACQzI,KAAMA,SACNyI,OAAQA,CAACA,kBAAmBA,kBAAmBA,mBAAoBA,mBAE3E,CACQzI,KAAMA,QACNyI,OAAQA,CAACA,mBAAoBA,mBAAoBA,mBAAoBA,mBAE7E,CACQzI,KAAMA,UACNyI,OAAQA,CAACA,mBAAoBA,eAAgBA,mBAAoBA,mBAEzE,CACQzI,KAAMA,WACNyI,OAAQA,CAACA,kBAAmBA,kBAAmBA,mBAAoBA,oBAE3E,CACQzI,KAAMA,aACNyI,OAAQA,CAACA,iBAAkBA,mBAAoBA,kBAAmBA,qBAE1E,CACQzI,KAAMA,kBACNyI,OAAQA,CAACA,mBAAoBA,kBAAmBA,mBAAoBA,qBAE5E,CACQzI,KAAMA,YACNyI,OAAQA,CAACA,mBAAoBA,kBAAmBA,mBAAoBA,qBAE5E,CACQzI,KAAMA,eACNyI,OAAQA,CAACA,mBAAoBA,kBAAmBA,kBAAmBA,qBAO3E7E,uBACAK,kCACAyE,aACA,CACQxE,IAAKA,EAAQA,QACblE,KAAMA,kBACN2I,MAAOA,kBAEf,CACQzE,IAAKA,EAAQA,QACblE,KAAMA,qBACN2I,MAAOA,mBAEf,CACQzE,IAAKA,EAAQA,QACblE,KAAMA,oBACN2I,MAAOA,mBAEf,CACQzE,IAAKA,EAAQA,QACblE,KAAMA,aACN2I,MAAOA,aAEf,CACQzE,IAAKA,EAAQA,QACblE,KAAMA,cACN2I,MAAOA,eAOfvE,2BACAwE,YACA,CACQtE,KAAMA,SACNuE,MAAOA,QACPxE,IAAKA,EAAQA,SAErB,CACQC,KAAMA,WACNuE,MAAOA,OACPxE,IAAKA,EAAQA,SAErB,CACQC,KAAMA,qBACNuE,MAAOA,SACPxE,IAAKA,EAAQA,SAErB,CACQC,KAAMA,iBACNuE,MAAOA,SACPxE,IAAKA,EAAQA,SAErB,CACQC,KAAMA,oBACNuE,MAAOA,OACPxE,IAAKA,EAAQA,SAErB,CACQC,KAAMA,eACNuE,MAAOA,GACPxE,IAAKA,EAAQA,SAErB,CACQC,KAAMA,yBACNuE,MAAOA,OACPxE,IAAKA,EAAQA,UAOrByE,WACAvE,eAKAwE,oBAGAC,qBAGAC,0BACApC,qCACAF,uCAGAuC,4BAGAtE,iCAKEuE,QAzRF,WA2RI1I,KAAK2I,iBACL3I,KAAK4I,gBACL5I,KAAK6I,6BAOP3I,QAASA,CAGPyI,eAHJ,WAOM,QAAoCnD,GAAhCsD,aAAaC,gBAA8B,CAE7CC,SAAIA,MAAMA,mBAAoBA,CAC5BC,MAAOA,kBACPzG,GAAGA,EACHC,GAAGA,EACHwB,IAAIA,EACJC,IAAIA,IAGN,IAAR,GACU1B,GAAGA,EACHC,GAAGA,EACHwB,IAAIA,EACJC,IAAIA,GAGN4E,aAAaA,QAAQA,kBAAmBA,KAAKA,UAAUA,QAG/D,CAEQ,IAAR,2CAEQ9I,KAAKuC,mBAAqB2G,EAC1BC,QAAQA,IAAIA,KAAKA,sBASrBP,cAzCJ,WAyCA,WAEM5I,KAAKmH,WAAa,CACxB,CACQpI,OAARA,QACQmI,KAARA,IAEA,CACQnI,OAARA,SACQmI,KAARA,IAEA,CACQnI,OAARA,cACQmI,KAARA,IAEA,CACQnI,OAARA,gBACQmI,KAARA,KAIMkC,IAAMA,IAAIA,CAChBA,6CACQC,QAARA,CACUC,cAAVA,4CAGAF,oDACQC,QAARA,CACUC,cAAVA,4CAGAF,sDACQC,QAARA,CACUC,cAAVA,8CAIAC,KAAAH,4BAIQ,IAAR,sBACA,gCACY,EAAZ,0BAEA,iCACY,EAAZ,0BAEA,sCACY,EAAZ,0BAEA,0CACY,EAAZ,+BAMAI,OAAA,YACQL,QAARA,oBAKIN,0BA1GJ,WA0GA,WAEM7I,KAAKsI,iBAAmB,GACxBtI,KAAKuI,kBAAoB,GACzBvI,KAAKwI,uBAAyB,GAC9BxI,KAAKyI,yBAA2B,GAEhCW,IAAMA,IAAIA,CAChBA,8CACQC,QAARA,CACUC,cAAVA,4CAGAF,qDACQC,QAARA,CACUC,cAAVA,4CAGAF,uDACQC,QAARA,CACUC,cAAVA,4CAGAF,uDACQC,QAARA,CACUC,cAAVA,4CAGAF,+CACQC,QAARA,CACUC,cAAVA,8CAIAC,KAAAH,gCAWQ,IAAR,SATQD,QAARA,yFAEQ,EAAR,wBACQ,EAAR,yBACQ,EAAR,8BACQ,EAAR,gCACQ,EAAR,eAGA,UACU,IAAV,8BACA,uCACc,EAAd,iCACgB7E,MAAhBA,kBACgBE,UAAhBA,gBACgBuB,OAAhBA,GACgB0D,gBAAhBA,GACgBC,aAAhBA,GACgBC,YAAhBA,GACgBC,cAAhBA,GACgBC,cAAhBA,GACgBpD,IAAhBA,sBACgBD,KAAhBA,uBACgBE,MAAhBA,0BACgBoD,aAAhBA,CACkBlD,QAAlBA,GACkBC,WAAlBA,GACkBC,SAAlBA,GACkBC,WAAlBA,IAEgBc,OAAhBA,yBACgBC,MAAhBA,MACgBiC,YAAhBA,eAMQ,IAAR,4BACU,IAAV,8BACA,yCACc,EAAd,iCACgBzF,MAAhBA,mCACgBE,UAAhBA,mCACgBuB,OAAhBA,GACgB0D,gBAAhBA,+BACgBC,aAAhBA,mCACgBC,YAAhBA,iCACgBC,cAAhBA,wCACgBC,cAAhBA,qIACgBpD,IAAhBA,iCACgBD,KAAhBA,kCACgBE,MAAhBA,GACgBoD,aAAhBA,CACkBlD,QAAlBA,sCACkBC,WAAlBA,yCACkBC,SAAlBA,uCACkBC,WAAlBA,0CAEgBc,OAAhBA,KACgBC,MAAhBA,QACgBiC,YAAhBA,wBAMQ,IAAR,6BACU,IAAV,8BACA,0CACc,EAAd,iCACgBzF,MAAhBA,oCACgBE,UAAhBA,oCACgBuB,OAAhBA,GACgB0D,gBAAhBA,gCACgBC,aAAhBA,oCACgBC,YAAhBA,gCACgBC,cAAhBA,GACgBC,cAAhBA,SACgBpD,IAAhBA,gCACgBD,KAAhBA,iCACgBE,MAAhBA,GACgBoD,aAAhBA,CACkBlD,QAAlBA,uCACkBC,WAAlBA,0CACkBC,SAAlBA,wCACkBC,WAAlBA,2CAEgBc,OAAhBA,GACgBC,MAAhBA,SACgBiC,YAAhBA,yBAMQ,IAAR,kCACU,IAAV,8BACA,gDACc,EAAd,iCACgBzF,MAAhBA,sCACgBE,UAAhBA,sCACgBuB,OAAhBA,sCACgB0D,gBAAhBA,0CACgBC,aAAhBA,yCACgBC,YAAhBA,uCACgBC,cAAhBA,KACgBC,cAAhBA,OACgBpD,IAAhBA,qCACgBD,KAAhBA,sCACgBE,MAAhBA,yCACgBoD,aAAhBA,CACkBlD,QAAlBA,GACkBC,WAAlBA,GACkBC,SAAlBA,GACkBC,WAAlBA,IAEgBc,OAAhBA,CACkB7C,SAAlBA,sCACkBC,UAAlBA,wCAEgB6C,MAAhBA,cACgBiC,YAAhBA,8BAEcZ,QAAdA,4CAKQ,IAAR,oCACU,IAAV,8BACA,iDACc,EAAd,iCACgB7E,MAAhBA,2CACgBE,UAAhBA,2CACgBuB,OAAhBA,GACgB0D,gBAAhBA,uCACgBC,aAAhBA,2CACgBC,YAAhBA,uCACgBC,cAAhBA,KACgBC,cAAhBA,OACgBpD,IAAhBA,uCACgBD,KAAhBA,wCACgBE,MAAhBA,GACgBoD,aAAhBA,CACkBlD,QAAlBA,8CACkBC,WAAlBA,iDACkBC,SAAlBA,+CACkBC,WAAlBA,kDAEgBc,OAAhBA,KACgBC,MAAhBA,gBACgBiC,YAAhBA,gCAMQZ,QAARA,iCAEQ,EAAR,aAGAK,OAAA,YACQL,QAARA,OAEQ,EAAR,aAQIa,OA5TJ,WA4TA,WAGMhK,KAAKoH,IAAM,IAAI6C,EAAA,KAAI,CACjBC,OAAQA,MACRC,OAAQA,CAChB,mBAIQ9C,KAAMA,IAAIA,OAAKA,CACb+C,KAAMA,EACNC,WAAYA,YACZC,OAAQA,CAACA,SAAUA,QACnBC,qBAAqBA,IAEvBC,SAAUA,eAAgBA,CACxBJ,MAAMA,IAChB9K,OAAA,CAEQ,IAAR,WAMMU,KAAKqH,KAAOrH,KAAKoH,IAAIqD,UACrBzK,KAAKqH,KAAKqD,IAAI1K,KAAKsH,gBAInBqD,YAAWA,WACT,EAAR,wBACQ,EAAR,yBACA,IAIIC,sBAlWJ,WAoWM,IAAN,OAEM5K,KAAKoH,IAAI3F,GAAG,SAAS,SAAUoJ,GAE7B,IAAR,6BACAA,SACA,YAAU,OAAV,KAGQ,QAAerF,GAAXsF,EAIF,GAFA3B,QAAQA,IAAIA,GAEiB,gBAAzB2B,EAAQC,QAAQjD,MAAyB,CAE3CkD,EAAKA,8BAAgCA,EAAQA,QAE7CA,EAAKA,mBAAmBA,EAAQA,SAEhC,IAAZ,iBACA,gBAEYA,EAAKA,UAAUA,CAACA,EAAMA,GAAMA,SAAUA,+BAKtCA,EAAKA,2BAA6BA,EAAQA,YAUlDC,mBAzYJ,SAyYAC,GAKM/B,QAAQA,IAAIA,GAEZ,IAAN,SAOM,GANAA,QAAQA,IAAIA,GAEZnJ,KAAKkF,8BAAgC,EAErClF,KAAK0H,4BAA8B,GAEV,SAArBwD,EAAY7G,MAAkB,CAEhC,IAAR,iBAEA,KACQ,IAAK,IAAb,OACU,IAAK,IAAf,qBACY,GAAIrE,KAAKmH,WAAW/B,GAAGrG,QAAUmM,EAAY7G,MAC3C,IAAK,IAAnB,6BAEoB8G,EAAK7H,GAAG8H,SAAS,WAAaD,EAAK7H,GAAG8H,SAAS,UAC7CpL,KAAKmH,WAAW/B,GAAG8B,KAAKmE,GAAGC,SAAWH,EAAK7H,GAAGiI,MAAM,UAAU,GAAGA,MAAM,UAAU,IACnFC,EAAUA,QAAQA,CAChBlG,OAAQA,GACRC,SAAUA,KAAKA,WAAWA,GAAGA,KAAKA,GAAGA,KACrCI,KAAyCA,QAAnCA,KAAKA,WAAWA,GAAGA,KAAKA,GAAGA,KAAiBA,KAAKA,WAAWA,GAAGA,KAAKA,GAAGA,KAAOA,GACpF8F,QAASA,KAAKA,WAAWA,GAAGA,KAAKA,GAAGA,QACpC/F,WAAYA,GACZE,UAAWA,GACXC,mBAAoBA,KAAKA,WAAWA,GAAGA,KAAKA,GAAGA,MAC/CJ,KAAMA,GACNJ,UAAyCA,GAAnCA,KAAKA,WAAWA,GAAGA,KAAKA,GAAGA,KAAoBA,KAAKA,WAAWA,GAAGA,KAAKA,GAAGA,KAAOA,KAK5E,OAAX8F,EAAK7H,IAA0B,OAAX6H,EAAK7H,IAA0B,UAAX6H,EAAK7H,IAA6B,QAAX6H,EAAK7H,IAA2B,MAAX6H,EAAK7H,IAAyB,OAAX6H,EAAK7H,IAC1GtD,KAAKmH,WAAW/B,GAAG8B,KAAKmE,GAAGC,SAAWH,EAAK7H,IAC7CkI,EAAUA,KAAKA,CACblG,OAAQA,GACRC,SAAUA,KAAKA,WAAWA,GAAGA,KAAKA,GAAGA,KACrCI,KAAyCA,QAAnCA,KAAKA,WAAWA,GAAGA,KAAKA,GAAGA,KAAiBA,KAAKA,WAAWA,GAAGA,KAAKA,GAAGA,KAAOA,GACpF8F,QAASA,KAAKA,WAAWA,GAAGA,KAAKA,GAAGA,QACpC/F,WAAYA,GACZE,UAAWA,GACXC,mBAAoBA,KAAKA,WAAWA,GAAGA,KAAKA,GAAGA,MAC/CJ,KAAMA,GACNJ,UAAyCA,GAAnCA,KAAKA,WAAWA,GAAGA,KAAKA,GAAGA,KAAoBA,KAAKA,WAAWA,GAAGA,KAAKA,GAAGA,KAAOA,KAWvG,IAAK,IAAb,OACU,IAAK,IAAf,OACgB8F,EAAK,GAArB,qBACA,MAAkBjE,EAAKiE,EAAK,KACRK,EAAU,GAA9B,iDACkBxL,KAAK0H,4BAA4BgE,KAAKF,EAAU,IAQ1D,IAAK,IAAb,QAEU,GAAIL,EAAK,GAAnB,4CACY,IAAK,IAAjB,sCACkBnL,KAAK0H,4BAA4B,GAAnD,oEACgB1H,KAAK0H,4BAA4B,GAAjD,mBAKU,GAAIyD,EAAK,GAAnB,iBACY,IAAK,IAAjB,sCACkBnL,KAAK0H,4BAA4B,GAAnD,+CACgB1H,KAAK0H,4BAA4B,GAAjD,sBAKU,GAAIyD,EAAK,GAAnB,kBACY,IAAK,IAAjB,sCACkBnL,KAAK0H,4BAA4B,GAAnD,kCACA,MAAoBR,EAAKiE,EAAK,GAA9B,qBACkBnL,KAAK0H,4BAA4B,GAAnD,yCAEgB1H,KAAK0H,4BAA4B,GAAjD,iBAKU,GAAIyD,EAAK,GAAnB,oBACY,IAAK,IAAjB,sCACkBnL,KAAK0H,4BAA4B,GAAnD,mCACA,MAAoBR,EAAKiE,EAAK,GAA9B,uBACkBnL,KAAK0H,4BAA4B,GAAnD,iDAcA,gDAEQ,IAAR,iBAEA,KACQ,IAAK,IAAb,OACU,IAAK,IAAf,qBACY,GAAI1H,KAAKmH,WAAW,GAAhC,gBACc,IAAK,IAAnB,6BAEA,UAAoBnH,KAAKmH,WAAW,GAApC,aACsBnH,KAAKmH,WAAW,GAAtC,uBACoBqE,EAApBA,MACsBlG,OAAQA,GACRC,SAAUA,KAAKA,WAAWA,GAAhDA,aACsBI,KAAtBA,QAA4BA,KAAKA,WAAWA,GAA5CA,gDACsB8F,QAASA,KAAKA,WAAWA,GAA/CA,gBACsB/F,WAAYA,GACZE,UAAWA,GACXC,mBAAoBA,KAAKA,WAAWA,GAA1DA,cACsBR,UAAtBA,GAA4BA,KAAKA,WAAWA,GAA5CA,kDAIA,wCACsBrF,KAAKmH,WAAW,GAAtC,uBACoBqE,EAApBA,MACsBlG,OAAQA,GACRC,SAAUA,KAAKA,WAAWA,GAAhDA,aACsBI,KAAtBA,QAA4BA,KAAKA,WAAWA,GAA5CA,gDACsB8F,QAASA,KAAKA,WAAWA,GAA/CA,gBACsB/F,WAAYA,GACZE,UAAWA,GACXC,mBAAoBA,KAAKA,WAAWA,GAA1DA,cACsBR,UAAtBA,GAA4BA,KAAKA,WAAWA,GAA5CA,kDAWQ,IAAK,IAAb,OACU,IAAK,IAAf,OACgB,EAAhB,wBACA,MAAkB6B,EAAK,EAAvB,KACoB,EAApB,sCACkBlH,KAAK0H,4BAA4BgE,KAAK,EAAxD,IAQQ,IAAK,IAAb,QAEU,GAAI,EAAd,+CACY,IAAK,IAAjB,sCACkB1L,KAAK0H,4BAA4B,GAAnD,oEACgB1H,KAAK0H,4BAA4B,GAAjD,mBAKU,GAAI,EAAd,sBACY,IAAK,IAAjB,sCACkB1H,KAAK0H,4BAA4B,GAAnD,iDACgB1H,KAAK0H,4BAA4B,GAAjD,mBAKU,GAAI,EAAd,oBACY,IAAK,IAAjB,sCACkB1H,KAAK0H,4BAA4B,GAAnD,+CACgB1H,KAAK0H,4BAA4B,GAAjD,sBAKU,GAAI,EAAd,oBACY,IAAK,IAAjB,sCACkB1H,KAAK0H,4BAA4B,GAAnD,+CACgB1H,KAAK0H,4BAA4B,GAAjD,wCAKU,IAAK,IAAf,sCACgB1H,KAAK0H,4BAA4B,GAAjD,eACA,MAAkBR,EAAK,EAAvB,MACgBlH,KAAK0H,4BAA4B,GAAjD,wBAUMyB,QAAQA,IAAIA,KAAKA,6BAEjBnJ,KAAKmE,6BAA8B,GAIrCI,iCAlnBJ,WAqnBoD,GAA1CvE,KAAKoG,oCACPpG,KAAKoG,mCAAoC,EACzCpG,KAAKmG,+BAA+B,MAAM,IAG5CnG,KAAKmE,6BAA8B,GAIrCwH,qBA9nBJ,WA8nBA,WAKM,IAAK,IAAX,6BAEQ3L,KAAKwH,QAAQ,WAAaxH,KAAKuH,mBAAmBjE,GAAGvE,QAAU,CAAvE,sCAEQiB,KAAKwH,QAAQ,UAAYxH,KAAKuH,mBAAmBjE,GAAGvE,QAAU,IAAI6M,EAAA,KAAa,CAAvFC,WAEQ7L,KAAKwH,QAAQ,SAAWxH,KAAKuH,mBAAmBjE,GAAGvE,QAAU,IAAI,OAKnE,IAAN,iFACM,IAAK,IAAX,OACQ,IAAK,IAAb,6BACU,GAAIiB,KAAKuH,mBAAmBnC,GAAGrG,QAAU+M,EAAe,GAAlE,qBAEY,IAAK,IAAjB,qCAEc9L,KAAKwH,QAAQsE,EAAe,IAA1C,eACgBzG,KAAMA,UACN0G,GAAoDA,MAAhDA,KAAKA,mBAAmBA,GAAGA,KAAKA,GAAGA,UAAoBA,GAAKA,KAAKA,mBAAmBA,GAAGA,KAAKA,GAAGA,UACnGC,SAAUA,CACR3G,KAAMA,QACN4G,YAAaA,CAC/B,wCACA,yCAGgBC,cAAeA,OACfC,WAAYA,CACV7H,MAAmDA,MAA5CA,KAAKA,mBAAmBA,GAAGA,KAAKA,GAAGA,MAAgBA,GAAKA,KAAKA,mBAAmBA,GAAGA,KAAKA,GAAGA,MAClGE,UAA2DA,MAAhDA,KAAKA,mBAAmBA,GAAGA,KAAKA,GAAGA,UAAoBA,GAAKA,KAAKA,mBAAmBA,GAAGA,KAAKA,GAAGA,UAC1GuB,OAAqDA,MAA7CA,KAAKA,mBAAmBA,GAAGA,KAAKA,GAAGA,OAAiBA,GAAKA,KAAKA,mBAAmBA,GAAGA,KAAKA,GAAGA,OACpGrB,SAAgEA,MAAtDA,KAAKA,mBAAmBA,GAAGA,KAAKA,GAAGA,gBAA0BA,GAAKA,KAAKA,mBAAmBA,GAAGA,KAAKA,GAAGA,gBAC/G0H,MAA0DA,MAAnDA,KAAKA,mBAAmBA,GAAGA,KAAKA,GAAGA,aAAuBA,GAAKA,KAAKA,mBAAmBA,GAAGA,KAAKA,GAAGA,aACzGxH,SAA4DA,MAAlDA,KAAKA,mBAAmBA,GAAGA,KAAKA,GAAGA,YAAsBA,GAAKA,KAAKA,mBAAmBA,GAAGA,KAAKA,GAAGA,YAC3GyH,cAAmEA,MAApDA,KAAKA,mBAAmBA,GAAGA,KAAKA,GAAGA,cAAwBA,GAAKA,KAAKA,mBAAmBA,GAAGA,KAAKA,GAAGA,cAClHC,cAAmEA,MAApDA,KAAKA,mBAAmBA,GAAGA,KAAKA,GAAGA,cAAwBA,GAAKA,KAAKA,mBAAmBA,GAAGA,KAAKA,GAAGA,cAClHrG,IAA+CA,MAA1CA,KAAKA,mBAAmBA,GAAGA,KAAKA,GAAGA,IAAcA,GAAKA,KAAKA,mBAAmBA,GAAGA,KAAKA,GAAGA,IAC9FD,KAAiDA,MAA3CA,KAAKA,mBAAmBA,GAAGA,KAAKA,GAAGA,KAAeA,GAAKA,KAAKA,mBAAmBA,GAAGA,KAAKA,GAAGA,KAChGpC,IAAiDA,MAA5CA,KAAKA,mBAAmBA,GAAGA,KAAKA,GAAGA,MAAgBA,GAAKA,KAAKA,mBAAmBA,GAAGA,KAAKA,GAAGA,MAChG+C,aAAiEA,MAAnDA,KAAKA,mBAAmBA,GAAGA,KAAKA,GAAGA,aAAuBA,GAAKA,KAAKA,mBAAmBA,GAAGA,KAAKA,GAAGA,aAChH5B,OAAqDA,MAA7CA,KAAKA,mBAAmBA,GAAGA,KAAKA,GAAGA,OAAiBA,GAAKA,KAAKA,mBAAmBA,GAAGA,KAAKA,GAAGA,OACpGV,MAAmDA,MAA5CA,KAAKA,mBAAmBA,GAAGA,KAAKA,GAAGA,MAAgBA,GAAKA,KAAKA,mBAAmBA,GAAGA,KAAKA,GAAGA,MAClG6C,KAAMA,KAAKA,mBAAmBA,GAAGA,KAAKA,GAAGA,eAarD,IAAK,IAAX,8BAOQ,IAAK,IAAb,KAHQlH,KAAKwH,QAAQ,WAAaxH,KAAKuH,mBAAmB,GAA1D,8FAGA,iCAEU,IAAV,SACU,IAAK,IAAf,qBACA,OAAgBvH,KAAKuH,mBAAmB,GAAxC,cACcgF,EAAYA,IAAIA,OAAOA,CACrBC,OAAQA,EACRC,KAAMA,IAAIA,OAAKA,CACbrE,MAAOA,YAETsE,OAAQA,IAAIA,OAAOA,CACjBtE,MAAOA,UACPuE,MAAOA,MAKP3M,KAAKuH,mBAAmB,GAA1C,kDACgBgF,EAAYA,IAAIA,OAAKA,CACnBK,OAAlBA,SAA0BA,KAAKA,mBAAmBA,GAAlDA,uEACkBC,aAAcA,WACdC,aAAcA,SACdrJ,IAAKA,KAAKA,WAAWA,GAAvCA,OAMU,IAAV,SAGUsJ,EAAaA,IAAIA,OAAKA,CACpBC,UAAWA,SACXC,aAAcA,SACdC,KAAMA,oBACNrJ,KAAMA,KAAKA,mBAAmBA,GAA1CA,cACY4I,KAAMA,IAAIA,OAAKA,CAA3BrE,kBACYsE,OAAQA,IAAIA,OAAOA,CAA/BtE,gBAAAuE,UACYQ,QAAZA,SAAqBA,KAAKA,mBAAmBA,GAA7CA,8DACYC,QAAZA,SAAqBA,KAAKA,mBAAmBA,GAA7CA,4GACYC,UAAWA,QACXC,SAAUA,GACVC,SAAUA,IAGZ,IAAV,cACYC,MAAOA,EACP3J,KAAMA,IAGR7D,KAAKwH,QAAQ,WAAaxH,KAAKuH,mBAAmB,GAA5D,uBAmBQvH,KAAKwH,QAAQ,UAAYxH,KAAKuH,mBAAmB,GAAzD,gFAEQvH,KAAKwH,QAAQ,SAAWxH,KAAKuH,mBAAmB,GAAxD,oBACUkG,OAAQA,KAAKA,QAAQA,UAAYA,KAAKA,mBAAmBA,GAAnEA,QAEUC,UAAWA,KAAKA,mBAAmBA,GAA7CA,SAOM,IAAK,IAAX,6BACQ1N,KAAKoH,IAAIuG,SAAS3N,KAAKwH,QAAQ,SAAWxH,KAAKuH,mBAAmB,GAA1E,SAGMoD,YAAWA,WACTxB,QAAQA,IAAIA,EAApBA,SACQ,EAAR,2BACA,IAOIyE,uBAlyBJ,WAkyBA,WAUM,GAP8C,GAA1C5N,KAAKoG,oCACPpG,KAAKoG,mCAAoC,EACzCpG,KAAKmG,+BAA+B,MAAM,IAKxCnG,KAAKoH,IAAIyG,YAAYC,OAAOC,OAAS,EAAG,CAG1C,IAAK,IAAb,6CAEU/N,KAAKoH,IAAIyG,YAAYC,OAAOxK,GAAG0K,YAAW,GAElB,GAApBhO,KAAK8D,aAC0C,OAA7C9D,KAAKoH,IAAIyG,YAAYC,OAAOxK,GAAG2K,YACjCjO,KAAKoH,IAAIyG,YAAYC,OAAOxK,GAAG0K,YAAW,GAGb,GAA7BhO,KAAKuC,mBAAmBC,GAA0C,GAA7BxC,KAAKuC,mBAAmBE,IACd,SAA7CzC,KAAKoH,IAAIyG,YAAYC,OAAOxK,GAAG2K,YAC/C,qDACcjO,KAAKoH,IAAIyG,YAAYC,OAAOxK,GAAG0K,YAAW,IAGb,GAA7BhO,KAAKuC,mBAAmBC,GAA0C,GAA7BxC,KAAKuC,mBAAmBE,GACd,SAA7CzC,KAAKoH,IAAIyG,YAAYC,OAAOxK,GAAG2K,YACjCjO,KAAKoH,IAAIyG,YAAYC,OAAOxK,GAAG0K,YAAW,GAGb,GAA7BhO,KAAKuC,mBAAmBC,GAA2C,GAA7BxC,KAAKuC,mBAAmBE,GACf,UAA7CzC,KAAKoH,IAAIyG,YAAYC,OAAOxK,GAAG2K,YACjCjO,KAAKoH,IAAIyG,YAAYC,OAAOxK,GAAG0K,YAAW,GAGZ,GAA9BhO,KAAKuC,mBAAmB0B,IACuB,eAA7CjE,KAAKoH,IAAIyG,YAAYC,OAAOxK,GAAG2K,YACjCjO,KAAKoH,IAAIyG,YAAYC,OAAOxK,GAAG0K,YAAW,GAGZ,GAA9BhO,KAAKuC,mBAAmB2B,IACuB,iBAA7ClE,KAAKoH,IAAIyG,YAAYC,OAAOxK,GAAG2K,YACjCjO,KAAKoH,IAAIyG,YAAYC,OAAOxK,GAAG0K,YAAW,GAOhDrD,YAAWA,WAGT,IAAV,KACU,EAAV,qCACoC,YAApBzC,EAAM+F,YACqB,GAAzB/F,EAAM6C,QAAQmD,SAChBC,EAAgBA,KAAKA,MAI3B,IAAV,WAEU,GAA8B,GAA1BA,EAAgBJ,OAAa,CAC/B,IAAK,IAAjB,OACcK,OAAgBA,EAAQA,EAAgBA,GAAzBA,yBAEjB,EAAZ,qBAAAC,qBAAAC,kBAGY,EAAZ,oCAAAD,yBAGA,KAaIxM,WA13BJ,WAi4BM,GALA7B,KAAK4C,iBAAmB,GACxB5C,KAAK8C,yBAA2B,GAChC9C,KAAK+C,kBAAoB,GACzB/C,KAAKiD,2BAA6B,GAED,GAA7BjD,KAAKuC,mBAAmBC,GAA0C,GAA7BxC,KAAKuC,mBAAmBE,EAE/DzC,KAAK2C,sBAAwB,QAGrC,+DAEQ,IAAK,IAAb,2BACU3C,KAAK4C,iBAAiB8I,KAAK1L,KAAKsI,iBAAiBhF,GAAGiL,cAEtDvO,KAAK4C,iBAAiB4L,YAG9B,+DAEQ,IAAK,IAAb,4BACUxO,KAAK4C,iBAAiB8I,KAAK1L,KAAKuI,kBAAkB,GAA5D,cAEQvI,KAAK4C,iBAAiB4L,YAG9B,kCAEQ,IAAK,IAAb,iCACUxO,KAAK4C,iBAAiB8I,KAAK1L,KAAKwI,uBAAuB,GAAjE,cAEQxI,KAAK4C,iBAAiB4L,YAG9B,kCAEQ,IAAK,IAAb,mCACUxO,KAAK4C,iBAAiB8I,KAAK1L,KAAKyI,yBAAyB,GAAnE,cAEQzI,KAAK4C,iBAAiB4L,OAIxBxO,KAAKmC,oBAAqB,GAI5BO,uBA36BJ,SA26BA+L,GAOM,GALAzO,KAAK4C,iBAAmB,GACxB5C,KAAK8C,yBAA2B,GAChC9C,KAAK+C,kBAAoB,GACzB/C,KAAKiD,2BAA6B,GAEvB,SAAPwL,EAAgB,CAElB,IAAK,IAAb,2BACUzO,KAAK4C,iBAAiB8I,KAAK1L,KAAKsI,iBAAiBhF,GAAGiL,cAEtDvO,KAAK4C,iBAAiB4L,YAG9B,gBAEQ,IAAK,IAAb,4BACUxO,KAAK4C,iBAAiB8I,KAAK1L,KAAKuI,kBAAkB,GAA5D,cAEQvI,KAAK4C,iBAAiB4L,SAM1B3L,mBAr8BJ,SAq8BAuJ,GAKM,GAHApM,KAAK+C,kBAAoB,GACzB/C,KAAKiD,2BAA6B,GAED,GAA7BjD,KAAKuC,mBAAmBC,GAA0C,GAA7BxC,KAAKuC,mBAAmBE,GAE/D,GAAkC,SAA9BzC,KAAK2C,sBAAkC,CAEzC,IAAK,IAAf,2BACgByJ,GAASpM,KAAKsI,iBAAiBhF,GAAGiL,cACpCvO,KAAK+C,kBAAkB2I,KAAK1L,KAAKsI,iBAAiBhF,GAAGoL,aAAe,MAAQ1O,KAAKsI,iBAAiBhF,GAAGqL,UAIzG3O,KAAK+C,kBAAkByL,YAGjC,yCAEU,IAAK,IAAf,4BACgBpC,GAASpM,KAAKuI,kBAAkB,GAAhD,cACcvI,KAAK+C,kBAAkB2I,KAAK1L,KAAKuI,kBAAkB,GAAjE,uDAIUvI,KAAK+C,kBAAkByL,aAKjC,+DAEQ,IAAK,IAAb,2BACcpC,GAASpM,KAAKsI,iBAAiB,GAA7C,cACYtI,KAAK+C,kBAAkB2I,KAAK1L,KAAKsI,iBAAiB,GAA9D,sDAIQtI,KAAK+C,kBAAkByL,YAG/B,+DAEQ,IAAK,IAAb,4BACcpC,GAASpM,KAAKuI,kBAAkB,GAA9C,cACYvI,KAAK+C,kBAAkB2I,KAAK1L,KAAKuI,kBAAkB,GAA/D,uDAIQvI,KAAK+C,kBAAkByL,YAG/B,kCAEQ,IAAK,IAAb,iCACcpC,GAASpM,KAAKwI,uBAAuB,GAAnD,cACYxI,KAAK+C,kBAAkB2I,KAAK1L,KAAKwI,uBAAuB,GAApE,iEAIQxI,KAAK+C,kBAAkByL,YAG/B,kCAEQ,IAAK,IAAb,mCACcpC,GAASpM,KAAKyI,yBAAyB,GAArD,cACYzI,KAAK+C,kBAAkB2I,KAAK1L,KAAKyI,yBAAyB,GAAtE,8DAIQzI,KAAK+C,kBAAkByL,OAMzB,IAAK,IAAX,sBACYxO,KAAK+H,YAAY,GAA7B,uBACU/H,KAAK4O,UAAU5O,KAAK+H,YAAY,GAA1C,sCAMI/E,oBA3hCJ,SA2hCA4D,GAAA,WAEA,oBAKA,IACA,IACM,IAAK,IAAX,iCACQ,GAAiD,YAA7C5G,KAAKoH,IAAIyG,YAAYC,OAAOxK,GAAG2K,WACjC,IAAK,IAAf,8DACgBjO,KAAKoH,IAAIyG,YAAYC,OAAOxK,GAAGuL,YAAYC,cAAc1J,GAAG2F,QAAQvG,WAAaA,IACnFyB,EAAMA,KAAKA,IAAIA,YAAYA,OAAOA,GAAGA,YAAYA,cAAcA,GAAGA,QAAQA,IAC1ED,EAAOA,KAAKA,IAAIA,YAAYA,OAAOA,GAAGA,YAAYA,cAAcA,GAAGA,QAAQA,MAMnF2E,YAAWA,WACT,EAAR,6CACA,IAMIzH,SAvjCJ,WAujCA,WAGMlD,KAAK4N,yBAELjD,YAAWA,WACT,IAAR,GAAApL,wBACQ,EAAR,eACQ,EAAR,+BAGQ,IAAR,KACQ,EAAR,qCACkC,YAApB2I,EAAM+F,YACqB,GAAzB/F,EAAM6C,QAAQmD,SAChBC,EAAgBA,KAAKA,MAI3B,IAAR,WAEQ,GAA8B,GAA1BA,EAAgBJ,OAAa,CAC/B,IAAK,IAAf,OACYK,OAAgBA,EAAQA,EAAgBA,GAAGA,YAAYA,aAEzD,EAAV,qBAAAC,qBAAAC,kBAGU,EAAV,oCAAAD,yBAMA,IAKI9K,YA9lCJ,SA8lCA2D,GAEMlH,KAAKwD,gBAAkB0D,EAAK3H,KAE5B,IAAN,0CAEM,IAAK,IAAX,OACYwP,EAAWzL,GAAGyH,QAAQiE,OAAS9H,EAAK3H,KACtCwP,EAAWA,GAAGA,YAAWA,GAGzBA,EAAWA,GAAGA,YAAWA,IAO/BhL,QAhnCJ,WAknCM/D,KAAK8D,aAAe9D,KAAK8D,YAEzB9D,KAAK4N,0BAKP5J,YAznCJ,SAynCAyK,GAAA,WAEMzO,KAAKmE,6BAA8B,EACnCnE,KAAKkF,8BAAgC,EAE1B,SAAPuJ,GACFzO,KAAKuC,mBAAmBC,GAAKxC,KAAKuC,mBAAmBC,EACrDxC,KAAKuC,mBAAmB0B,IAAK,EAC7BjE,KAAKuC,mBAAmB2B,IAAK,GAErC,aACQlE,KAAKuC,mBAAmBE,GAAKzC,KAAKuC,mBAAmBE,EACrDzC,KAAKuC,mBAAmB0B,IAAK,EAC7BjE,KAAKuC,mBAAmB2B,IAAK,GAErC,mBACQlE,KAAKuC,mBAAmBC,GAAI,EAC5BxC,KAAKuC,mBAAmBE,GAAI,EAC5BzC,KAAKuC,mBAAmB0B,IAAMjE,KAAKuC,mBAAmB0B,GACtDjE,KAAKuC,mBAAmB2B,IAAK,GAErC,sBACQlE,KAAKuC,mBAAmBC,GAAI,EAC5BxC,KAAKuC,mBAAmBE,GAAI,EAC5BzC,KAAKuC,mBAAmB0B,IAAK,EAC7BjE,KAAKuC,mBAAmB2B,IAAMlE,KAAKuC,mBAAmB2B,IAGxDyG,YAAWA,WAET,EAAR,yBAEQ3B,SAAIA,MAAMA,mBAAoBA,CAC5BC,MAAOA,kBACPzG,EAAGA,EAAbA,qBACUC,EAAGA,EAAbA,qBACUwB,GAAIA,EAAdA,sBACUC,GAAIA,EAAdA,wBAGQ,IAAR,GACU1B,EAAGA,EAAbA,qBACUC,EAAGA,EAAbA,qBACUwB,GAAIA,EAAdA,sBACUC,GAAIA,EAAdA,uBAGQ4E,aAAaA,QAAQA,kBAAmBA,KAAKA,UAAUA,MAE/D,MAKI3C,+BA/qCJ,SA+qCA8I,EAAAlN,GAAA,WAIM,GAFA/B,KAAKkG,qCAAsC,EAE9B,GAATnE,EAAe,CAEjB,IAAR,KAEQqH,IAAMA,IAAIA,KAAKA,UAAYA,iDAAmDA,EAAQA,CACpFC,QAASA,CACP,cAAiB,UAAYrJ,KAAKkP,OAAOC,QAAQC,KAAKC,SAGlE9F,MAAA,YAEU,IAAV,SAEU+F,EAAVA,eAGU3E,YAAVA,WAEY,IAAZ,KACY,IAAZ,WACc4E,EAAdA,MACgBC,MAAhBA,mBACgBlJ,GAAhBA,mBACgBqB,SAAhBA,yBACgBpB,MAAhBA,gBACgB5B,KAAhBA,UACgBiD,OAAhBA,GACgBnB,IAAhBA,mBACgBD,KAAhBA,oBACgBE,MAAhBA,iBACgBmB,OAAhBA,GACgBC,MAAhBA,eACgB2H,SAAhBA,UAIY9E,YAAZA,WAEc,IAAd,YACA,KACA,YAEcxB,QAAdA,OAEc,EAAd,gCAEA,KAEA,MAIAK,OAAA,YACUL,QAAVA,cAIA,CAIQ,IAAR,OAEQ,IAAK,IAAb,iCAC2D,gBAA7CnJ,KAAKoH,IAAIyG,YAAYC,OAAOxK,GAAG2K,aACjCyB,EAAmBA,KAAKA,IAAIA,YAAYA,OAAOA,IAI3B,MAApBA,GACF1P,KAAK2P,eAAeD,KAc1BE,aAvwCJ,SAuwCAC,EAAAC,EAAAC,EAAAC,EAAAC,GAAA,WAEA,yCAEA,cAAApE,WAEA,aAEM,IAAK,IAAX,OACQqE,EAAaA,YAAYA,KAAKA,CAC5B7K,KAAMA,UACN0G,GAAIA,EAAUA,GAAGA,GACjBC,SAAUA,CACR3G,KAAMA,EAAUA,GAAGA,SACnB4G,YAAaA,CACzB4D,UACAA,WAGU3D,cAAeA,OACfC,WAAYA,CACV7F,GAAIA,EAAUA,GAAGA,GACjBqB,SAAUA,EAAUA,GAAGA,SACvBpB,MAAOA,EAAUA,GAAGA,MACpB5B,KAAMA,EAAUA,GAAGA,KACnBiD,OAAQA,EAAUA,GAAGA,OACrBnB,IAAKA,EAAUA,GAAGA,IAClBD,KAAMA,EAAUA,GAAGA,KACnBE,MAAOA,EAAUA,GAAGA,MACpBmB,OAAQA,EAAUA,GAAGA,OACrBC,MAAOA,EAAUA,GAAGA,SAK1B,IAAN,+BAEM,IAAK,IAAX,QAEQ,IAAR,OAEUyE,EADmB,SAAjBuD,EACUvD,IAAIA,OAAKA,CACnBK,OAAwBA,GAAhBA,EAAuBA,CAACA,GAAKA,IAAMA,CAACA,EAAGA,GAC/CC,aAAcA,WACdC,aAAcA,SACdrJ,IAAKA,IAIK8I,IAAIA,OAAOA,CACrBC,OAAQA,EACRC,KAAMA,IAAIA,OAAKA,CACbrE,MAAOA,IAETsE,OAAQA,IAAIA,OAAOA,CACjBtE,MAAOA,UACPuE,MAAOA,MAMb,IAAR,SACQI,EAAaA,IAAIA,OAAKA,CACpBC,UAAWA,SACXC,aAAcA,SACdC,KAAMA,oBACNrJ,KAAMA,EAAUA,GAA1BA,MACU4I,KAAMA,IAAIA,OAAKA,CAAzBrE,kBACUsE,OAAQA,IAAIA,OAAOA,CAA7BtE,gBAAAuE,UACUQ,QAASA,EACTC,SAAUA,GACVC,UAAWA,QACXC,SAAUA,GACVC,SAAUA,IAGZ,IAAR,cACUC,MAAOA,EACP3J,KAAMA,IAGRsM,EAAaA,GAArBA,YAiBM,IAAK,IAAX,KAZMC,EAAYA,YAAYA,GAIxBC,EAAcA,IAAIA,OAAYA,CAC5B5C,OAAQA,EAERC,UAAWA,EAAUA,GAAGA,QAG1B1N,KAAKoH,IAAIuG,SAAS0C,GAExB,4BACYrQ,KAAKoH,IAAIyG,YAAYC,OAAO,GAAxC,WAKMnD,YAAWA,WAGT,IAAR,KACQ,EAAR,qCAEczC,EAAM+F,YAAc4B,EAAU,GAAG/H,OACN,GAAzBI,EAAM6C,QAAQmD,SAChBC,EAAgBA,KAAKA,MAI3B,IAAR,WAEQ,GAA8B,GAA1BA,EAAgBJ,OAAa,CAC/B,IAAK,IAAf,OACYK,OAAgBA,EAAQA,EAAgBA,GAAzBA,yBAEjB,EAAV,qBAAAC,qBAAAC,kBAGU,EAAV,oCAAAD,uBAGQ,EAAR,yCAEA,IAKIsB,eA/4CJ,SA+4CAzH,GAEMlI,KAAKoH,IAAIkJ,YAAYpI,GAErBlI,KAAKkG,qCAAsC,GAI7Cc,WAv5CJ,SAu5CAvD,GACM8M,OAAOA,KAAKA,IAId3B,UA55CJ,SA45CAlK,EAAA8L,EAAAC,GAEMzQ,KAAKqH,KAAKqJ,QAAQ,IAClB,IAAN,MAKA,OACA,OACM,GAAY,UAARF,EACFpG,EAAOA,KAAKA,KAAKA,UACjBE,EAASA,OAEjB,gBACQ,IAAR,sCACQF,EAAOA,KAAKA,KAAKA,qBAAqBA,GACtCE,EAASA,OAAmBA,GAc9B,IAAN,kBAsCM,GAnCsB,kBAAlBmG,GAEFzQ,KAAKqH,KAAKsJ,QAClB,CACUrG,OAAVA,EACUsG,SAAVA,IAKQ5Q,KAAKqH,KAAKsJ,QAClB,CACUvG,KAAVA,IACUwG,SAAVA,KAEA,CACUxG,KAAVA,EACUwG,SAAVA,OAOQ5Q,KAAKqH,KAAKsJ,QAClB,CACUrG,OAAVA,EACUF,KAAVA,GACUwG,SAAVA,SAO4BpL,GAAlBiL,EACF,GAAsB,0BAAlBA,GAAgE,kBAAlBA,EAAoC,CACpF,IAAV,GAAAlR,2BACUS,KAAKuD,YAAY2D,QAE3B,2BACU,IAAV,GAAA3H,wBACUS,KAAKuD,YAAY,OC78EuU,I,0YCgBlW,MAAMsN,GAAa,OAAAC,EAAA,MAAO,OAAY,OAAW,OAAY,eAAiB,cAAe,QAG9E,OAAAD,GAAA,iBACbtR,KAAM,UACNwR,cAAc,EACdvR,MAAO,CACLwR,SAAUtR,QACVqM,GAAIjM,OACJwE,MAAOxE,OACPP,KAAMO,OACNmR,QAAS,CACP5L,KAAMvF,OACNU,QAAS,aAEX0Q,OAAQ,CACN7L,KAAMvF,OACNU,QAAS,YAEX2Q,SAAUzR,QACVsC,MAAO,CACLxB,QAAS,OAGb0G,KAAM,KAAM,CACVkK,WAAW,IAEbrR,SAAU,CACR,UACE,MAAO,CACL,uBAAwBC,KAAKqR,WAC7B,sBAAuBrR,KAAKoR,aACzBpR,KAAKC,gBACLD,KAAKsR,eAIZ,gBACE,OAAO,OAAWC,QAAQxR,SAASyR,cAAcC,KAAKzR,OAGxD,eACE,OAAOA,KAAK0R,SAAW1R,KAAKkR,OAASlR,KAAKiR,SAG5C,aACE,OAAOU,EAAA,KAAOJ,QAAQxR,SAAS6R,WAAWH,KAAKzR,OAGjD6R,SAAUF,EAAA,KAAOJ,QAAQxR,SAAS8R,SAElC,WACE,OAAQ7R,KAAK8R,YAAc,IAAIC,UAGjC,aACE,OAAO/R,KAAKgR,YAAchR,KAAK8R,YAAc9R,KAAK8R,WAAWT,YAG/D,aACE,OAAOrR,KAAKmR,YAAcnR,KAAK8R,YAAc9R,KAAK8R,WAAWE,YAG/D,eACE,OAAIhS,KAAKT,OAASS,KAAK8R,WACd9R,KAAKT,KAGPS,KAAK8R,WAAWvS,MAAQ,SAASS,KAAK8R,WAAWG,MAG1D,cACE,OAAO,OAAWV,QAAQxR,SAASmS,YAAYT,KAAKzR,OAGtD,kBACE,OAAQA,KAAK8R,YAAc,IAAIK,iBAAmBnS,KAAKwR,gBAI3DtR,QAAS,CACP,SAASkS,GAIP,OAAO,OAAWb,QAAQrR,QAAQmS,SAASZ,KAAKzR,KAAM,QAASoS,IAGjE,WACE,OAAKpS,KAAK6R,SACH7R,KAAKK,eAAeiS,EAAA,KAAQ,CACjC7Q,GAAI,CAEF8Q,MAAO,QAETnR,MAAO,CACLoR,IAAKxS,KAAK4R,YAEZpS,MAAO,CACL4I,MAAOpI,KAAKmS,gBACZM,QAASzS,KAAK+R,WAEf,eAAQ/R,KAAM,UAAYA,KAAKsE,OAbP,MAgB7B,WACE,OAAOtE,KAAKK,eAAe,MAAO,CAChCC,YAAa,sCACZ,CAACN,KAAKK,eAAe,OAAOL,KAAK0S,aAAa1S,KAAKmS,gBAAiB,CACrE3S,MAAO,CACLC,MAAOO,KAAK8R,YAAc9R,KAAK8R,WAAWrS,SAE1CO,KAAK2S,cAAe3S,KAAKqS,SAAS,CACpC9S,KAAMS,KAAK4S,aACX5Q,MAAOhC,KAAKgC,SACThC,KAAK6S,SACN7S,KAAK8S,UAAU9S,KAAK0S,aAAa1S,KAAKkS,iBAG5C,QAAQa,GACN/S,KAAKoR,WAAY,EACjBpR,KAAKgT,MAAM,QAASD,IAGtB,OAAOA,GACL/S,KAAKoR,WAAY,EACjBpR,KAAKgT,MAAM,OAAQD,IAGrB,WACM/S,KAAKqR,YAAcrR,KAAKgS,YAAchS,KAAK0R,UAC/C1R,KAAKiT,UAGPC,UAAW,QAGb,OAAOzS,GACL,MAAMyG,EAAO,CACX5G,YAAa,UACbI,MAAOV,KAAKW,QACZc,GAAI,gBAAe,CACjB8Q,MAAOvS,KAAKmT,UACXnT,KAAKoT,aAEV,OAAO3S,EAAE,MAAOyG,EAAM,CAAClH,KAAKqT,WAAYrT,KAAKsT,gB,gDCvJjD,MAAM,GAAa,OAAAxC,EAAA,MAAO,QAAY,QAAea,EAAA,MAGtC,UAAWrS,OAAO,CAC/BC,KAAM,gBAEN,UACE,MAAO,CACLuS,WAAY9R,OAIhBR,MAAO,CACL+T,OAAQ,CACNlO,KAAM3F,QACNc,SAAS,GAEXZ,OAAQ,CACNyF,KAAM,CAACxF,OAAQC,QACfU,QAAS,QAEXjB,KAAMO,OACN0T,IAAK9T,QAILsC,MAAO,MAETjC,SAAU,CACR,UACE,MAAO,IAAK4R,EAAA,KAAOJ,QAAQxR,SAASY,QAAQ8Q,KAAKzR,MAC/C,oDAAoD,EACpD,+BAAgCA,KAAKuT,SAAWvT,KAAKwT,IACrD,4BAA6BxT,KAAKwT,OAKxCtT,QAAS,CACP,iBACE,OAAOF,KAAKK,eAAe,MAAO,CAChCC,YAAa,8BACbc,MAAO,CACL2K,GAAI/L,KAAK+L,GACT0H,KAAM,aACN,kBAAmBzT,KAAK4R,aAEzBD,EAAA,KAAOJ,QAAQrR,QAAQwT,eAAejC,KAAKzR,QAGhD,eACE,MAAM2T,EAAShC,EAAA,KAAOJ,QAAQrR,QAAQ0T,aAAanC,KAAKzR,MAExD,cADO2T,EAAOzM,KAAKzF,GAAG8Q,MACfoB,GAGT,WACE,MAAMrP,EAAQqN,EAAA,KAAOJ,QAAQrR,QAAQoT,SAAS7B,KAAKzR,MACnD,OAAKsE,GACLA,EAAM4C,KAAK9F,MAAM2K,GAAK/L,KAAK4R,kBAEpBtN,EAAM4C,KAAK9F,MAAMoR,IACxBlO,EAAMuP,IAAM,SACLvP,GALY,MAQrBwP,QAAS,QAAcvC,QAAQrR,QAAQ4T,W,uGC7D5B,UAAWxU,OAAO,CAC/BC,KAAM,WACN8C,WAAY,CACV0R,MAAA,SAEFvU,MAAO,CACLwU,MAAOtU,QACPuU,QAAS,CACP5O,KAAM,CAAC3F,QAASI,QAChBU,SAAS,GAEX0T,KAAM,CACJ7O,KAAM3F,QACNc,SAAS,IAGbT,SAAU,CACR,UACE,MAAO,IAAK4R,EAAA,KAAOJ,QAAQxR,SAASY,QAAQ8Q,KAAKzR,MAC/C,+CAA+C,EAC/C,wBAAyBA,KAAKkU,KAC9B,yBAA0BlU,KAAKgU,QAInC,QACE,MAAO,CACL,eAAgBlU,OAAOE,KAAK0R,UAC5B,gBAAiB5R,OAAOE,KAAKqR,YAC7BoC,KAAM,WAOV,kBACE,OAAIzT,KAAKmU,UAAYnU,KAAKoU,eAAuB,QAC7CpU,KAAKqU,WAAmB,UACN,OAAlBrU,KAAKsU,SAA0BtU,KAAKwR,mBAAxC,GAIF,aACE,OAAOxR,KAAK0S,aAAa1S,KAAKiU,aAAUzO,EAAYxF,KAAKmS,gBAAiB,CACxEzR,MAAOV,KAAKC,iBAKlBC,QAAS,CACP,iBACE,MAAO,CAACF,KAAKuU,YAAavU,KAAKsT,aAGjC,YACE,OAAOtT,KAAKK,eAAe,MAAO,CAChCC,YAAa,sCACZ,CAACN,KAAKqS,SAAS,WAAY,IAAKrS,KAAKoB,SACnCpB,KAAK6S,SACN7S,KAAK8S,UAAU9S,KAAK0S,aAAa1S,KAAKmS,gBAAiB,CACzD9P,WAAY,CAAC,CACX9C,KAAM,QACNyC,MAAO,CACLwS,KAAMxU,KAAKyU,YACXC,MAAO1U,KAAK2U,mBAGb3U,KAAKK,eAAe,MAAO,CAC9BC,YAAa,4BACVN,KAAK4U,aACN5U,KAAKK,eAAe,MAAO,CAC7BC,YAAa,4BACVN,KAAK4U,YACP,CAAC5U,KAAK6U,mBAGX,cACE,OAAO7U,KAAKK,eAAe,QAAgB,GAAI,EAAkB,IAAjBL,KAAKiU,QAAoB,KAAOjU,KAAKG,OAAO2U,UAAY9U,KAAKK,eAAe0U,GAAA,KAAmB,CAC7IvV,MAAO,CACL4I,OAAwB,IAAjBpI,KAAKiU,SAAqC,KAAjBjU,KAAKiU,QAAiBjU,KAAKoI,OAAS,UAAYpI,KAAKiU,QACrF5F,KAAM,GACN1B,MAAO,EACPqI,eAAe,QAKrB,cACMhV,KAAK0R,UAAU1R,KAAKmT,YAG1B,eACOnT,KAAK0R,UAAU1R,KAAKmT,YAG3B,UAAUJ,IACJA,EAAEkC,UAAY,OAAST,MAAQxU,KAAK0R,UAAYqB,EAAEkC,UAAY,OAASP,QAAU1U,KAAK0R,WAAU1R,KAAKmT,e,aCxG3G+B,GAAY,eACd,EACA,EACAjO,GACA,EACA,KACA,KACA,MAIa,aAAAiO,GAAiB,QA8BhC,IAAkBA,GAAW,CAACC,OAAA,KAAKC,QAAA,KAAMC,UAAA,OAAUC,WAAA,OAAWC,OAAA,KAAKC,kBAAA,KAAgBC,yBAAA,KAAuBC,wBAAA,KAAsBC,mBAAA,KAAiBC,QAAA,KAAMC,OAAA,KAAKC,UAAA,KAAQC,QAAA,KAAMC,YAAA,KAAUC,kBAAA,KAAgBC,iBAAA,OAAiBC,eAAA,OAAeC,QAAA,KAAMC,OAAA,GAAOC,YAAA,GAAYC,QAAA,KAAKC,WAAA,KAAQC,gBAAA,KAAaC,WAAA,KAAQC,QAAA,GAAQC,YAAA,Q,qCChDvS,IAAIC,EAAI,EAAQ,QACZC,EAAc,EAAQ,QACtBC,EAAY,EAAQ,QACpBC,EAAW,EAAQ,QACnBC,EAAoB,EAAQ,QAC5BC,EAAwB,EAAQ,QAChCC,EAAW,EAAQ,QACnBC,EAAQ,EAAQ,QAChBC,EAAe,EAAQ,QACvBC,EAAsB,EAAQ,QAC9BC,EAAK,EAAQ,QACbC,EAAa,EAAQ,QACrBC,EAAK,EAAQ,QACbC,EAAS,EAAQ,QAEjBC,EAAO,GACPC,EAAad,EAAYa,EAAKnJ,MAC9B9C,EAAOoL,EAAYa,EAAKjM,MAGxBmM,EAAqBT,GAAM,WAC7BO,EAAKnJ,UAAKhJ,MAGRsS,EAAgBV,GAAM,WACxBO,EAAKnJ,KAAK,SAGRuJ,EAAgBT,EAAoB,QAEpCU,GAAeZ,GAAM,WAEvB,GAAIK,EAAI,OAAOA,EAAK,GACpB,KAAIF,GAAMA,EAAK,GAAf,CACA,GAAIC,EAAY,OAAO,EACvB,GAAIE,EAAQ,OAAOA,EAAS,IAE5B,IACIO,EAAMC,EAAKlW,EAAOmW,EADlBC,EAAS,GAIb,IAAKH,EAAO,GAAIA,EAAO,GAAIA,IAAQ,CAGjC,OAFAC,EAAMpY,OAAOuY,aAAaJ,GAElBA,GACN,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAIjW,EAAQ,EAAG,MAC/C,KAAK,GAAI,KAAK,GAAIA,EAAQ,EAAG,MAC7B,QAASA,EAAQ,EAGnB,IAAKmW,EAAQ,EAAGA,EAAQ,GAAIA,IAC1BR,EAAKjM,KAAK,CAAE4M,EAAGJ,EAAMC,EAAOI,EAAGvW,IAMnC,IAFA2V,EAAKnJ,MAAK,SAAUhM,EAAGgW,GAAK,OAAOA,EAAED,EAAI/V,EAAE+V,KAEtCJ,EAAQ,EAAGA,EAAQR,EAAK5J,OAAQoK,IACnCD,EAAMP,EAAKQ,GAAOG,EAAEG,OAAO,GACvBL,EAAOK,OAAOL,EAAOrK,OAAS,KAAOmK,IAAKE,GAAUF,GAG1D,MAAkB,gBAAXE,MAGLM,EAASb,IAAuBC,IAAkBC,IAAkBC,EAEpEW,EAAiB,SAAUC,GAC7B,OAAO,SAAUxT,EAAGyT,GAClB,YAAUrT,IAANqT,GAAyB,OACnBrT,IAANJ,EAAwB,OACVI,IAAdoT,GAAiCA,EAAUxT,EAAGyT,IAAM,EACjD1B,EAAS/R,GAAK+R,EAAS0B,GAAK,GAAK,IAM5ChC,EAAE,CAAE3M,OAAQ,QAAS4O,OAAO,EAAMC,OAAQL,GAAU,CAClDlK,KAAM,SAAcoK,QACApT,IAAdoT,GAAyB7B,EAAU6B,GAEvC,IAAII,EAAQhC,EAAShX,MAErB,GAAIgY,EAAa,YAAqBxS,IAAdoT,EAA0BhB,EAAWoB,GAASpB,EAAWoB,EAAOJ,GAExF,IAEIK,EAAad,EAFbe,EAAQ,GACRC,EAAclC,EAAkB+B,GAGpC,IAAKb,EAAQ,EAAGA,EAAQgB,EAAahB,IAC/BA,KAASa,GAAOtN,EAAKwN,EAAOF,EAAMb,IAGxCd,EAAa6B,EAAOP,EAAeC,IAEnCK,EAAchC,EAAkBiC,GAChCf,EAAQ,EAER,MAAOA,EAAQc,EAAaD,EAAMb,GAASe,EAAMf,KACjD,MAAOA,EAAQgB,EAAajC,EAAsB8B,EAAOb,KAEzD,OAAOa,M,oCCtGX,IAAIpa,EAAY,EAAQ,QAEpBwa,EAASxa,EAAUE,MAAM,wBAE7BC,EAAOC,UAAYoa,IAAWA,EAAO,I,kCCLrC,4BAIe,oBAAI9Z,OAAO,CACxBC,KAAM,aACN8C,WAAY,CACVgX,OAAA,QAEF7Z,MAAO,CACL6Z,OAAQ,CACNhU,KAAM,CAAC3F,QAAS4Z,QAChB9Y,SAAS,IAGbN,QAAS,CACP,UAAUgH,EAAO,IACf,OAAKlH,KAAKqZ,QACVnS,EAAK5G,YAAc,sCACnB4G,EAAK7E,WAAa6E,EAAK7E,YAAc,GACrC6E,EAAK7E,WAAWqJ,KAAK,CACnBnM,KAAM,SACNyC,MAAO,CACLsI,QAAQ,KAGLtK,KAAKK,eAAe,MAAO6G,IATT,U,qBCjB/BnI,EAAOC,QAAU,IAA0B,8C,oCCA3C,W,kCCAA,wCAYIua,EAAqB,OAmCrBC,EAAsB,WAItB,SAASA,EAAKC,GACV,IAAIlI,EAAUkI,GAAe,GAK7BzZ,KAAK0Z,MAAQnI,EAAQrE,KAKrBlN,KAAK2Z,UAAYpI,EAAQhE,SAKzBvN,KAAK4Z,gBAAkBrI,EAAQsI,eAK/B7Z,KAAK8Z,OAASvI,EAAQwI,MAKtB/Z,KAAKga,YAAc,oBAAyBxU,IAAlB+L,EAAQwI,MAAsBxI,EAAQwI,MAAQ,GAKxE/Z,KAAKia,MAAQ1I,EAAQ1N,KAKrB7D,KAAKka,WAAa3I,EAAQvE,UAK1BhN,KAAKma,cAAgB5I,EAAQtE,aAK7BjN,KAAKoa,WACgB5U,IAAjB+L,EAAQ9E,KACF8E,EAAQ9E,KACR,IAAI,OAAK,CAAErE,MAAOmR,IAK5BvZ,KAAKqa,eACoB7U,IAArB+L,EAAQjE,SAAyBiE,EAAQjE,SAAWgN,KAAKC,GAAK,EAKlEva,KAAKwa,gBACqBhV,IAAtB+L,EAAQlE,UAA0BkE,EAAQlE,UAAY,OAAcoN,MAKxEza,KAAK0a,YAAcnJ,EAAQoJ,SAK3B3a,KAAK4a,aAA6BpV,IAAnB+L,EAAQ7E,OAAuB6E,EAAQ7E,OAAS,KAK/D1M,KAAK6a,cAA+BrV,IAApB+L,EAAQpE,QAAwBoE,EAAQpE,QAAU,EAKlEnN,KAAK8a,cAA+BtV,IAApB+L,EAAQnE,QAAwBmE,EAAQnE,QAAU,EAKlEpN,KAAK+a,gBAAkBxJ,EAAQyJ,eACzBzJ,EAAQyJ,eACR,KAKNhb,KAAKib,kBAAoB1J,EAAQ2J,iBAC3B3J,EAAQ2J,iBACR,KAKNlb,KAAKmb,cAA+B3V,IAApB+L,EAAQ6J,QAAwB,KAAO7J,EAAQ6J,QA0UnE,OAnUA5B,EAAK6B,UAAUC,MAAQ,WACnB,IAAIvB,EAAQ/Z,KAAKub,WACjB,OAAO,IAAI/B,EAAK,CACZtM,KAAMlN,KAAKwb,UACXnO,UAAWrN,KAAKyb,eAChBnO,SAAUtN,KAAK0b,cACff,SAAU3a,KAAK2b,cACfpO,SAAUvN,KAAK4b,cACf/B,eAAgB7Z,KAAK6b,oBACrB9B,MAAO+B,MAAMC,QAAQhC,GAASA,EAAMiC,QAAUjC,EAC9ClW,KAAM7D,KAAKic,UACXjP,UAAWhN,KAAKkc,eAChBjP,aAAcjN,KAAKmc,kBACnB1P,KAAMzM,KAAKoc,UAAYpc,KAAKoc,UAAUd,aAAU9V,EAChDkH,OAAQ1M,KAAKqc,YAAcrc,KAAKqc,YAAYf,aAAU9V,EACtD2H,QAASnN,KAAKsc,aACdlP,QAASpN,KAAKuc,aACdvB,eAAgBhb,KAAKwc,oBACfxc,KAAKwc,oBAAoBlB,aACzB9V,EACN0V,iBAAkBlb,KAAKyc,sBACjBzc,KAAKyc,sBAAsBnB,aAC3B9V,EACN4V,QAASpb,KAAK0c,gBAQtBlD,EAAK6B,UAAUM,YAAc,WACzB,OAAO3b,KAAK0a,WAOhBlB,EAAK6B,UAAUG,QAAU,WACrB,OAAOxb,KAAK0Z,OAOhBF,EAAK6B,UAAUK,YAAc,WACzB,OAAO1b,KAAKqa,WAOhBb,EAAK6B,UAAUI,aAAe,WAC1B,OAAOzb,KAAKwa,YAOhBhB,EAAK6B,UAAUiB,WAAa,WACxB,OAAOtc,KAAK6a,UAOhBrB,EAAK6B,UAAUkB,WAAa,WACxB,OAAOvc,KAAK8a,UAOhBtB,EAAK6B,UAAUe,QAAU,WACrB,OAAOpc,KAAKoa,OAOhBZ,EAAK6B,UAAUQ,kBAAoB,WAC/B,OAAO7b,KAAK4Z,iBAOhBJ,EAAK6B,UAAUO,YAAc,WACzB,OAAO5b,KAAK2Z,WAOhBH,EAAK6B,UAAUE,SAAW,WACtB,OAAOvb,KAAK8Z,QAMhBN,EAAK6B,UAAUsB,cAAgB,WAC3B,OAAO3c,KAAKga,aAOhBR,EAAK6B,UAAUgB,UAAY,WACvB,OAAOrc,KAAK4a,SAOhBpB,EAAK6B,UAAUY,QAAU,WACrB,OAAOjc,KAAKia,OAOhBT,EAAK6B,UAAUa,aAAe,WAC1B,OAAOlc,KAAKka,YAOhBV,EAAK6B,UAAUc,gBAAkB,WAC7B,OAAOnc,KAAKma,eAOhBX,EAAK6B,UAAUmB,kBAAoB,WAC/B,OAAOxc,KAAK+a,iBAOhBvB,EAAK6B,UAAUoB,oBAAsB,WACjC,OAAOzc,KAAKib,mBAOhBzB,EAAK6B,UAAUqB,WAAa,WACxB,OAAO1c,KAAKmb,UAQhB3B,EAAK6B,UAAUuB,YAAc,SAAUjC,GACnC3a,KAAK0a,UAAYC,GAQrBnB,EAAK6B,UAAUwB,QAAU,SAAU3P,GAC/BlN,KAAK0Z,MAAQxM,GAQjBsM,EAAK6B,UAAUyB,YAAc,SAAUxP,GACnCtN,KAAKqa,UAAY/M,GAQrBkM,EAAK6B,UAAU0B,WAAa,SAAU5P,GAClCnN,KAAK6a,SAAW1N,GAQpBqM,EAAK6B,UAAU2B,WAAa,SAAU5P,GAClCpN,KAAK8a,SAAW1N,GAQpBoM,EAAK6B,UAAU4B,aAAe,SAAU5P,GACpCrN,KAAKwa,WAAanN,GAQtBmM,EAAK6B,UAAU6B,kBAAoB,SAAUrD,GACzC7Z,KAAK4Z,gBAAkBC,GAQ3BL,EAAK6B,UAAU8B,QAAU,SAAU1Q,GAC/BzM,KAAKoa,MAAQ3N,GAQjB+M,EAAK6B,UAAU+B,YAAc,SAAU7P,GACnCvN,KAAK2Z,UAAYpM,GAQrBiM,EAAK6B,UAAUgC,SAAW,SAAUtD,GAChC/Z,KAAK8Z,OAASC,EACd/Z,KAAKga,YAAc,oBAAiBxU,IAAVuU,EAAsBA,EAAQ,IAQ5DP,EAAK6B,UAAUiC,UAAY,SAAU5Q,GACjC1M,KAAK4a,QAAUlO,GAQnB8M,EAAK6B,UAAUkC,QAAU,SAAU1Z,GAC/B7D,KAAKia,MAAQpW,GAQjB2V,EAAK6B,UAAUmC,aAAe,SAAUxQ,GACpChN,KAAKka,WAAalN,GAQtBwM,EAAK6B,UAAUoC,gBAAkB,SAAUxQ,GACvCjN,KAAKma,cAAgBlN,GAQzBuM,EAAK6B,UAAUqC,kBAAoB,SAAUjR,GACzCzM,KAAK+a,gBAAkBtO,GAQ3B+M,EAAK6B,UAAUsC,oBAAsB,SAAUjR,GAC3C1M,KAAKib,kBAAoBvO,GAQ7B8M,EAAK6B,UAAUuC,WAAa,SAAUxC,GAClCpb,KAAKmb,SAAWC,GAEb5B,EAlbc,GAobV,U,8CCnefza,EAAOC,QAAU,0gD,uBCAjBD,EAAOC,QAAU,IAA0B,+B,gKCAvC6e,EAAwC,WACxC,IAAIC,EAAgB,SAAUC,EAAGvF,GAI7B,OAHAsF,EAAgBxE,OAAO0E,gBAClB,CAAEC,UAAW,cAAgBnC,OAAS,SAAUiC,EAAGvF,GAAKuF,EAAEE,UAAYzF,IACvE,SAAUuF,EAAGvF,GAAK,IAAK,IAAI0F,KAAK1F,EAAOc,OAAO+B,UAAU8C,eAAe1M,KAAK+G,EAAG0F,KAAIH,EAAEG,GAAK1F,EAAE0F,KACzFJ,EAAcC,EAAGvF,IAE5B,OAAO,SAAUuF,EAAGvF,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIrZ,UAAU,uBAAyBW,OAAO0Y,GAAK,iCAE7D,SAAS4F,IAAOpe,KAAKqe,YAAcN,EADnCD,EAAcC,EAAGvF,GAEjBuF,EAAE1C,UAAkB,OAAN7C,EAAac,OAAOgF,OAAO9F,IAAM4F,EAAG/C,UAAY7C,EAAE6C,UAAW,IAAI+C,IAZ3C,GA6BxC,EAAoC,SAAUG,GAK9C,SAASC,EAAmBC,GACxB,IAAIC,EAAQH,EAAO9M,KAAKzR,OAASA,KAWjC,OANA0e,EAAMC,YAAcF,GAAkC,KAItDC,EAAME,kBAAoB,GAC1BF,EAAMG,0BACCH,EAqQX,OArRAb,EAAUW,EAAoBD,GAqB9BC,EAAmBnD,UAAUyD,0BAA4B,WACrD9e,KAAK4e,kBAAkBG,QAAQ,QAC/B/e,KAAK4e,kBAAkB7Q,OAAS,GAKpCyQ,EAAmBnD,UAAUwD,wBAA0B,WACnD,GAAK7e,KAAK2e,YAGV,IAAK,IAAIrb,EAAI,EAAG0b,EAAKhf,KAAK2e,YAAY5Q,OAAQzK,EAAI0b,IAAM1b,EACpDtD,KAAK4e,kBAAkBlT,KAAK,eAAO1L,KAAK2e,YAAYrb,GAAI2b,EAAA,KAAUC,OAAQlf,KAAKmf,QAASnf,QAQhGwe,EAAmBnD,UAAUC,MAAQ,WACjC,IAAI8D,EAAqB,IAAIZ,EAAmB,MAGhD,OAFAY,EAAmBC,cAAcrf,KAAK2e,aACtCS,EAAmBE,gBAAgBtf,MAC5Bof,GASXZ,EAAmBnD,UAAUkE,eAAiB,SAAUna,EAAGyT,EAAG2G,EAAcC,GACxE,GAAIA,EAAqB,eAAyBzf,KAAK0f,YAAata,EAAGyT,GACnE,OAAO4G,EAGX,IADA,IAAIE,EAAa3f,KAAK2e,YACbrb,EAAI,EAAG0b,EAAKW,EAAW5R,OAAQzK,EAAI0b,IAAM1b,EAC9Cmc,EAAqBE,EAAWrc,GAAGic,eAAena,EAAGyT,EAAG2G,EAAcC,GAE1E,OAAOA,GAOXjB,EAAmBnD,UAAUuE,WAAa,SAAUxa,EAAGyT,GAEnD,IADA,IAAI8G,EAAa3f,KAAK2e,YACbrb,EAAI,EAAG0b,EAAKW,EAAW5R,OAAQzK,EAAI0b,IAAM1b,EAC9C,GAAIqc,EAAWrc,GAAGsc,WAAWxa,EAAGyT,GAC5B,OAAO,EAGf,OAAO,GAOX2F,EAAmBnD,UAAUwE,cAAgB,SAAU7X,GACnD,eAAoBA,GAEpB,IADA,IAAI2X,EAAa3f,KAAK2e,YACbrb,EAAI,EAAG0b,EAAKW,EAAW5R,OAAQzK,EAAI0b,IAAM1b,EAC9C,eAAO0E,EAAQ2X,EAAWrc,GAAGoc,aAEjC,OAAO1X,GAOXwW,EAAmBnD,UAAUyE,cAAgB,WACzC,OAAOC,EAAgB/f,KAAK2e,cAKhCH,EAAmBnD,UAAU2E,mBAAqB,WAC9C,OAAOhgB,KAAK2e,aAKhBH,EAAmBnD,UAAU4E,4BAA8B,WAIvD,IAFA,IAAIC,EAAkB,GAClBP,EAAa3f,KAAK2e,YACbrb,EAAI,EAAG0b,EAAKW,EAAW5R,OAAQzK,EAAI0b,IAAM1b,EAC1Cqc,EAAWrc,GAAG6c,YAAcngB,KAAKmgB,UACjCD,EAAkBA,EAAgBE,OACCT,EAAWrc,GAAI2c,+BAGlDC,EAAgBxU,KAAKiU,EAAWrc,IAGxC,OAAO4c,GAOX1B,EAAmBnD,UAAUgF,sBAAwB,SAAUC,GAK3D,GAJItgB,KAAKugB,6BAA+BvgB,KAAKwgB,gBACzCxgB,KAAKygB,yCAA2C,EAChDzgB,KAAKugB,2BAA6BvgB,KAAKwgB,eAEvCF,EAAmB,GACgC,IAAlDtgB,KAAKygB,0CACFH,EAAmBtgB,KAAKygB,yCAC5B,OAAOzgB,KAKX,IAHA,IAAI0gB,EAAuB,GACvBf,EAAa3f,KAAK2e,YAClBgC,GAAa,EACRrd,EAAI,EAAG0b,EAAKW,EAAW5R,OAAQzK,EAAI0b,IAAM1b,EAAG,CACjD,IAAI0I,EAAW2T,EAAWrc,GACtBsd,EAAqB5U,EAASqU,sBAAsBC,GACxDI,EAAqBhV,KAAKkV,GACtBA,IAAuB5U,IACvB2U,GAAa,GAGrB,GAAIA,EAAY,CACZ,IAAIE,EAA+B,IAAIrC,EAAmB,MAE1D,OADAqC,EAA6BC,mBAAmBJ,GACzCG,EAIP,OADA7gB,KAAKygB,yCAA2CH,EACzCtgB,MAQfwe,EAAmBnD,UAAU8E,QAAU,WACnC,OAAOY,EAAA,KAAaC,qBAQxBxC,EAAmBnD,UAAU4F,iBAAmB,SAAUjZ,GAEtD,IADA,IAAI2X,EAAa3f,KAAK2e,YACbrb,EAAI,EAAG0b,EAAKW,EAAW5R,OAAQzK,EAAI0b,IAAM1b,EAC9C,GAAIqc,EAAWrc,GAAG2d,iBAAiBjZ,GAC/B,OAAO,EAGf,OAAO,GAKXwW,EAAmBnD,UAAU6F,QAAU,WACnC,OAAmC,IAA5BlhB,KAAK2e,YAAY5Q,QAS5ByQ,EAAmBnD,UAAU8F,OAAS,SAAUC,EAAOxU,GAEnD,IADA,IAAI+S,EAAa3f,KAAK2e,YACbrb,EAAI,EAAG0b,EAAKW,EAAW5R,OAAQzK,EAAI0b,IAAM1b,EAC9Cqc,EAAWrc,GAAG6d,OAAOC,EAAOxU,GAEhC5M,KAAKmf,WAYTX,EAAmBnD,UAAUtB,MAAQ,SAAUsH,EAAIC,EAAQC,GACvD,IAAI3U,EAAS2U,EACR3U,IACDA,EAAS,eAAU5M,KAAK0f,cAG5B,IADA,IAAIC,EAAa3f,KAAK2e,YACbrb,EAAI,EAAG0b,EAAKW,EAAW5R,OAAQzK,EAAI0b,IAAM1b,EAC9Cqc,EAAWrc,GAAGyW,MAAMsH,EAAIC,EAAQ1U,GAEpC5M,KAAKmf,WAOTX,EAAmBnD,UAAUgE,cAAgB,SAAUM,GACnD3f,KAAK8gB,mBAAmBf,EAAgBJ,KAK5CnB,EAAmBnD,UAAUyF,mBAAqB,SAAUnB,GACxD3f,KAAK8e,4BACL9e,KAAK2e,YAAcgB,EACnB3f,KAAK6e,0BACL7e,KAAKmf,WAWTX,EAAmBnD,UAAUmG,eAAiB,SAAUC,GAEpD,IADA,IAAI9B,EAAa3f,KAAK2e,YACbrb,EAAI,EAAG0b,EAAKW,EAAW5R,OAAQzK,EAAI0b,IAAM1b,EAC9Cqc,EAAWrc,GAAGke,eAAeC,GAEjCzhB,KAAKmf,WASTX,EAAmBnD,UAAUqG,UAAY,SAAUC,EAAQC,GAEvD,IADA,IAAIjC,EAAa3f,KAAK2e,YACbrb,EAAI,EAAG0b,EAAKW,EAAW5R,OAAQzK,EAAI0b,IAAM1b,EAC9Cqc,EAAWrc,GAAGoe,UAAUC,EAAQC,GAEpC5hB,KAAKmf,WAKTX,EAAmBnD,UAAUwG,gBAAkB,WAC3C7hB,KAAK8e,4BACLP,EAAOlD,UAAUwG,gBAAgBpQ,KAAKzR,OAEnCwe,EAtR4B,CAuRrCsD,EAAA,MAKF,SAAS/B,EAAgBJ,GAErB,IADA,IAAIoC,EAAmB,GACdze,EAAI,EAAG0b,EAAKW,EAAW5R,OAAQzK,EAAI0b,IAAM1b,EAC9Cye,EAAiBrW,KAAKiU,EAAWrc,GAAGgY,SAExC,OAAOyG,EAEI,Q,gDCtQX,EAA+B,WAC/B,SAASC,IAKLhiB,KAAKiiB,oBAAiBzc,EAKtBxF,KAAKkiB,8BAA2B1c,EAKhCxF,KAAKmiB,oBAAsB,KA8H/B,OArHAH,EAAc3G,UAAU+G,eAAiB,SAAU3U,EAAQgM,GACvD,IAAIlI,EACJ,GAAIkI,EAAa,CACb,IAAIwI,EAAiBxI,EAAYwI,eAC3B,eAAcxI,EAAYwI,gBAC1BjiB,KAAKqiB,eAAe5U,GACtBgM,EAAYzR,QACZia,GACAA,EAAeK,aAAeC,EAAA,KAAMC,cACpCP,EAAiB,eAAcA,GAC/BA,EAAeQ,eAAehJ,EAAYzR,SAE9CuJ,EAAU,CACN0Q,eAAgBA,EAChBS,kBAAmBjJ,EAAYiJ,mBAGvC,OAAO1iB,KAAK2iB,aAAapR,IAW7ByQ,EAAc3G,UAAUsH,aAAe,SAAUpR,GAC7C,OAAO,eAAO,CACV0Q,eAAgBjiB,KAAKiiB,eACrBS,kBAAmB1iB,KAAKkiB,0BACzB3Q,IAMPyQ,EAAc3G,UAAU8E,QAAU,WAC9B,OAAO,kBAUX6B,EAAc3G,UAAUuH,YAAc,SAAUnV,EAAQgM,GACpD,OAAO,kBAUXuI,EAAc3G,UAAUwH,aAAe,SAAUpV,EAAQgM,GACrD,OAAO,kBAUXuI,EAAc3G,UAAUyH,aAAe,SAAUrV,EAAQgM,GACrD,OAAO,kBASXuI,EAAc3G,UAAUgH,eAAiB,SAAU5U,GAC/C,OAAO,kBAUXuU,EAAc3G,UAAU0H,aAAe,SAAUjY,EAAS2O,GACtD,OAAO,kBAUXuI,EAAc3G,UAAU2H,cAAgB,SAAUC,EAAUxJ,GACxD,OAAO,kBAUXuI,EAAc3G,UAAU6H,cAAgB,SAAUlX,EAAUyN,GACxD,OAAO,kBAEJuI,EA9IuB,GAgJnB,IAOR,SAASmB,EAA6BnX,EAAUoX,EAAO3J,GAC1D,IAMI4J,EANAX,EAAoBjJ,EAClB,eAAcA,EAAYiJ,mBAC1B,KACFT,EAAiBxI,EACf,eAAcA,EAAYwI,gBAC1B,KAUN,GALIoB,EAHAX,GACAT,IACC,eAAqBS,EAAmBT,IAC1BmB,EAAQpX,EAASsP,QAAUtP,GAAUsX,UAAUF,EAAQV,EAAoBT,EAAgBmB,EAAQnB,EAAiBS,GAGrH1W,EAEdoX,GACA3J,QACuDjU,IAA3B,EAAc+d,SAAwB,CAClE,IAAIC,EAAUlJ,KAAKmJ,IAAI,GACK,EAAcF,UAMtCD,EAAY,SAAUrX,GACtB,IAAK,IAAI3I,EAAI,EAAG0b,EAAK/S,EAAY8B,OAAQzK,EAAI0b,IAAM1b,EAC/C2I,EAAY3I,GAAKgX,KAAKoJ,MAAMzX,EAAY3I,GAAKkgB,GAAWA,EAE5D,OAAOvX,GAEPoX,IAAgBrX,IAChBqX,EAAcrX,EAASsP,SAE3B+H,EAAY7B,eAAe8B,GAE/B,OAAOD,E,gBCtPP,EAAwC,WACxC,IAAIvF,EAAgB,SAAUC,EAAGvF,GAI7B,OAHAsF,EAAgBxE,OAAO0E,gBAClB,CAAEC,UAAW,cAAgBnC,OAAS,SAAUiC,EAAGvF,GAAKuF,EAAEE,UAAYzF,IACvE,SAAUuF,EAAGvF,GAAK,IAAK,IAAI0F,KAAK1F,EAAOc,OAAO+B,UAAU8C,eAAe1M,KAAK+G,EAAG0F,KAAIH,EAAEG,GAAK1F,EAAE0F,KACzFJ,EAAcC,EAAGvF,IAE5B,OAAO,SAAUuF,EAAGvF,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIrZ,UAAU,uBAAyBW,OAAO0Y,GAAK,iCAE7D,SAAS4F,IAAOpe,KAAKqe,YAAcN,EADnCD,EAAcC,EAAGvF,GAEjBuF,EAAE1C,UAAkB,OAAN7C,EAAac,OAAOgF,OAAO9F,IAAM4F,EAAG/C,UAAY7C,EAAE6C,UAAW,IAAI+C,IAZ3C,GA6BxC,EAA6B,SAAUG,GAEvC,SAASoF,IACL,OAAOpF,EAAO9M,KAAKzR,OAASA,KAwJhC,OA1JA,EAAU2jB,EAAapF,GAOvBoF,EAAYtI,UAAU8E,QAAU,WAC5B,OAAOyD,EAAA,KAAWC,MAWtBF,EAAYtI,UAAUuH,YAAc,SAAUnV,EAAQgM,GAClD,OAAOzZ,KAAK8jB,sBAAsBC,EAAUtW,GAASzN,KAAKoiB,eAAe3U,EAAQgM,KAWrFkK,EAAYtI,UAAUwH,aAAe,SAAUpV,EAAQgM,GACnD,OAAOzZ,KAAKgkB,uBAAuBD,EAAUtW,GAASzN,KAAKoiB,eAAe3U,EAAQgM,KAStFkK,EAAYtI,UAAUyI,sBAAwB,SAAUG,EAAQxK,GAC5D,OAAO,kBASXkK,EAAYtI,UAAU2I,uBAAyB,SAAUC,EAAQxK,GAC7D,OAAO,kBAUXkK,EAAYtI,UAAUyH,aAAe,SAAUrV,EAAQgM,GACnD,OAAOzZ,KAAKkkB,uBAAuBH,EAAUtW,GAASzN,KAAKoiB,eAAe3U,EAAQgM,KAStFkK,EAAYtI,UAAU6I,uBAAyB,SAAUD,EAAQxK,GAC7D,OAAO,kBASXkK,EAAYtI,UAAUgH,eAAiB,SAAU5U,GAC7C,OAAOzN,KAAKmkB,yBAAyBJ,EAAUtW,KAQnDkW,EAAYtI,UAAU8I,yBAA2B,SAAUF,GACvD,OAAO,kBAUXN,EAAYtI,UAAU0H,aAAe,SAAUjY,EAAS2O,GACpD,OAAOoK,KAAKO,UAAUpkB,KAAKqkB,mBAAmBvZ,EAAS2O,KAQ3DkK,EAAYtI,UAAUgJ,mBAAqB,SAAUvZ,EAAS2O,GAC1D,OAAO,kBAUXkK,EAAYtI,UAAU2H,cAAgB,SAAUC,EAAUxJ,GACtD,OAAOoK,KAAKO,UAAUpkB,KAAKskB,oBAAoBrB,EAAUxJ,KAQ7DkK,EAAYtI,UAAUiJ,oBAAsB,SAAUrB,EAAUxJ,GAC5D,OAAO,kBAUXkK,EAAYtI,UAAU6H,cAAgB,SAAUlX,EAAUyN,GACtD,OAAOoK,KAAKO,UAAUpkB,KAAKukB,oBAAoBvY,EAAUyN,KAQ7DkK,EAAYtI,UAAUkJ,oBAAsB,SAAUvY,EAAUyN,GAC5D,OAAO,kBAEJkK,EA3JqB,CA4J9B,GAKF,SAASI,EAAUtW,GACf,GAAsB,kBAAXA,EAAqB,CAC5B,IAAIwW,EAASJ,KAAKW,MAAM/W,GACxB,OAAOwW,GAA0C,KAEhD,OAAe,OAAXxW,EACEA,EAGA,KAGA,Q,4GC3LR,SAASgX,EAAiBC,EAAiBC,EAAQC,EAAKC,EAAQC,EAAUC,EAAUC,GACvF,IAAIC,EAAGC,EACHC,GAAKP,EAAMD,GAAUE,EACzB,GAAU,IAANM,EACAF,EAAIN,OAEH,GAAU,IAANQ,EACLF,EAAIN,EACJO,EAAIJ,OAEH,GAAU,IAANK,EAAS,CAKd,IAJA,IAAIC,EAAKV,EAAgBC,GACrBU,EAAKX,EAAgBC,EAAS,GAC9BW,EAAW,EACXC,EAAoB,CAAC,GAChBjiB,EAAIqhB,EAASE,EAAQvhB,EAAIshB,EAAKthB,GAAKuhB,EAAQ,CAChD,IAAIW,EAAKd,EAAgBphB,GACrBmiB,EAAKf,EAAgBphB,EAAI,GAC7BgiB,GAAYhL,KAAKoL,MAAMF,EAAKJ,IAAOI,EAAKJ,IAAOK,EAAKJ,IAAOI,EAAKJ,IAChEE,EAAkB7Z,KAAK4Z,GACvBF,EAAKI,EACLH,EAAKI,EAET,IAAIvb,EAAS4a,EAAWQ,EACpBnN,EAAQ,eAAaoN,EAAmBrb,GACxCiO,EAAQ,GACR+M,GACKhb,EAASqb,GAAmBpN,EAAQ,KAChCoN,GAAmBpN,EAAQ,GAAKoN,GAAmBpN,EAAQ,IACpE8M,EAAIN,IAAWxM,EAAQ,GAAK0M,GAG5BI,EAAIN,EAASxM,EAAQ0M,EAG7B,IAAIc,EAAYX,EAAgB,EAAIA,EAAgB,EAChDY,EAAOb,GAAsB,IAAIjJ,MAAM6J,GAC3C,IAASriB,EAAI,EAAGA,EAAIqiB,IAAariB,EAC7BsiB,EAAKtiB,QACKkC,IAANyf,EACMY,SACMrgB,IAAN0f,EACIR,EAAgBO,EAAI3hB,GACpB,eAAKohB,EAAgBO,EAAI3hB,GAAIohB,EAAgBO,EAAIJ,EAASvhB,GAAI4hB,GAEhF,OAAOU,EAWJ,SAASE,EAAwBpB,EAAiBC,EAAQC,EAAKC,EAAQpiB,EAAGsjB,GAC7E,GAAInB,GAAOD,EACP,OAAO,KAEX,IAAIqB,EACJ,GAAIvjB,EAAIiiB,EAAgBC,EAASE,EAAS,GACtC,OAAIkB,GACAC,EAAatB,EAAgB1I,MAAM2I,EAAQA,EAASE,GACpDmB,EAAWnB,EAAS,GAAKpiB,EAClBujB,GAGA,KAGV,GAAItB,EAAgBE,EAAM,GAAKniB,EAChC,OAAIsjB,GACAC,EAAatB,EAAgB1I,MAAM4I,EAAMC,EAAQD,GACjDoB,EAAWnB,EAAS,GAAKpiB,EAClBujB,GAGA,KAIf,GAAIvjB,GAAKiiB,EAAgBC,EAASE,EAAS,GACvC,OAAOH,EAAgB1I,MAAM2I,EAAQA,EAASE,GAElD,IAAIoB,EAAKtB,EAASE,EACdqB,EAAKtB,EAAMC,EACf,MAAOoB,EAAKC,EAAI,CACZ,IAAIC,EAAOF,EAAKC,GAAO,EACnBzjB,EAAIiiB,GAAiByB,EAAM,GAAKtB,EAAS,GACzCqB,EAAKC,EAGLF,EAAKE,EAAM,EAGnB,IAAIC,EAAK1B,EAAgBuB,EAAKpB,EAAS,GACvC,GAAIpiB,GAAK2jB,EACL,OAAO1B,EAAgB1I,OAAOiK,EAAK,GAAKpB,GAASoB,EAAK,GAAKpB,EAASA,GAExE,IAAIwB,EAAK3B,GAAiBuB,EAAK,GAAKpB,EAAS,GACzCK,GAAKziB,EAAI2jB,IAAOC,EAAKD,GACzBJ,EAAa,GACb,IAAK,IAAI1iB,EAAI,EAAGA,EAAIuhB,EAAS,IAAKvhB,EAC9B0iB,EAAWta,KAAK,eAAKgZ,GAAiBuB,EAAK,GAAKpB,EAASvhB,GAAIohB,EAAgBuB,EAAKpB,EAASvhB,GAAI4hB,IAGnG,OADAc,EAAWta,KAAKjJ,GACTujB,EAYJ,SAASM,EAAyB5B,EAAiBC,EAAQ4B,EAAM1B,EAAQpiB,EAAGsjB,EAAaS,GAC5F,GAAIA,EACA,OAAOV,EAAwBpB,EAAiBC,EAAQ4B,EAAKA,EAAKxY,OAAS,GAAI8W,EAAQpiB,EAAGsjB,GAE9F,IAAIC,EACJ,GAAIvjB,EAAIiiB,EAAgBG,EAAS,GAC7B,OAAIkB,GACAC,EAAatB,EAAgB1I,MAAM,EAAG6I,GACtCmB,EAAWnB,EAAS,GAAKpiB,EAClBujB,GAGA,KAGf,GAAItB,EAAgBA,EAAgB3W,OAAS,GAAKtL,EAC9C,OAAIsjB,GACAC,EAAatB,EAAgB1I,MAAM0I,EAAgB3W,OAAS8W,GAC5DmB,EAAWnB,EAAS,GAAKpiB,EAClBujB,GAGA,KAGf,IAAK,IAAI1iB,EAAI,EAAG0b,EAAKuH,EAAKxY,OAAQzK,EAAI0b,IAAM1b,EAAG,CAC3C,IAAIshB,EAAM2B,EAAKjjB,GACf,GAAIqhB,GAAUC,EAAd,CAGA,GAAIniB,EAAIiiB,EAAgBC,EAASE,EAAS,GACtC,OAAO,KAEN,GAAIpiB,GAAKiiB,EAAgBE,EAAM,GAChC,OAAOkB,EAAwBpB,EAAiBC,EAAQC,EAAKC,EAAQpiB,GAAG,GAE5EkiB,EAASC,GAEb,OAAO,K,4BC5KP,EAAwC,WACxC,IAAI9G,EAAgB,SAAUC,EAAGvF,GAI7B,OAHAsF,EAAgBxE,OAAO0E,gBAClB,CAAEC,UAAW,cAAgBnC,OAAS,SAAUiC,EAAGvF,GAAKuF,EAAEE,UAAYzF,IACvE,SAAUuF,EAAGvF,GAAK,IAAK,IAAI0F,KAAK1F,EAAOc,OAAO+B,UAAU8C,eAAe1M,KAAK+G,EAAG0F,KAAIH,EAAEG,GAAK1F,EAAE0F,KACzFJ,EAAcC,EAAGvF,IAE5B,OAAO,SAAUuF,EAAGvF,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIrZ,UAAU,uBAAyBW,OAAO0Y,GAAK,iCAE7D,SAAS4F,IAAOpe,KAAKqe,YAAcN,EADnCD,EAAcC,EAAGvF,GAEjBuF,EAAE1C,UAAkB,OAAN7C,EAAac,OAAOgF,OAAO9F,IAAM4F,EAAG/C,UAAY7C,EAAE6C,UAAW,IAAI+C,IAZ3C,GAqCxC,EAA4B,SAAUG,GAOtC,SAASkI,EAAWxa,EAAaya,GAC7B,IAAIhI,EAAQH,EAAO9M,KAAKzR,OAASA,KA6BjC,OAxBA0e,EAAMiI,cAAgB,KAKtBjI,EAAMkI,uBAAyB,EAK/BlI,EAAMmI,WAAa,EAKnBnI,EAAMoI,mBAAqB,OACRthB,IAAfkhB,GAA6B5K,MAAMC,QAAQ9P,EAAY,IAKvDyS,EAAMqI,eACsD,EAAeL,GAL3EhI,EAAMsI,mBAAmBN,EACI,GAM1BhI,EA+JX,OAnMA,EAAU+H,EAAYlI,GA2CtBkI,EAAWpL,UAAU4L,iBAAmB,SAAUjB,GACzChmB,KAAK0kB,gBAIN,eAAO1kB,KAAK0kB,gBAAiBsB,GAH7BhmB,KAAK0kB,gBAAkBsB,EAAWhK,QAKtChc,KAAKmf,WAOTsH,EAAWpL,UAAUC,MAAQ,WACzB,IAAI4L,EAAa,IAAIT,EAAWzmB,KAAK0kB,gBAAgB1I,QAAShc,KAAKmnB,QAEnE,OADAD,EAAW5H,gBAAgBtf,MACpBknB,GASXT,EAAWpL,UAAUkE,eAAiB,SAAUna,EAAGyT,EAAG2G,EAAcC,GAChE,OAAIA,EAAqB,eAAyBzf,KAAK0f,YAAata,EAAGyT,GAC5D4G,GAEPzf,KAAK8mB,mBAAqB9mB,KAAKwgB,gBAC/BxgB,KAAK6mB,UAAYvM,KAAKoL,KAAK,eAAgB1lB,KAAK0kB,gBAAiB,EAAG1kB,KAAK0kB,gBAAgB3W,OAAQ/N,KAAK6kB,OAAQ,IAC9G7kB,KAAK8mB,kBAAoB9mB,KAAKwgB,eAE3B,eAAmBxgB,KAAK0kB,gBAAiB,EAAG1kB,KAAK0kB,gBAAgB3W,OAAQ/N,KAAK6kB,OAAQ7kB,KAAK6mB,WAAW,EAAOzhB,EAAGyT,EAAG2G,EAAcC,KAa5IgH,EAAWpL,UAAU+L,eAAiB,SAAUnlB,GAC5C,OAAO,eAAejC,KAAK0kB,gBAAiB,EAAG1kB,KAAK0kB,gBAAgB3W,OAAQ/N,KAAK6kB,OAAQ5iB,IAgB7FwkB,EAAWpL,UAAUgM,iBAAmB,SAAU5kB,EAAG6kB,GACjD,GAAItnB,KAAKmnB,QAAUI,EAAA,KAAeC,KAC9BxnB,KAAKmnB,QAAUI,EAAA,KAAeE,KAC9B,OAAO,KAEX,IAAI1B,OAAkCvgB,IAApB8hB,GAAgCA,EAClD,OAAOxB,EAAwB9lB,KAAK0kB,gBAAiB,EAAG1kB,KAAK0kB,gBAAgB3W,OAAQ/N,KAAK6kB,OAAQpiB,EAAGsjB,IAOzGU,EAAWpL,UAAUqM,eAAiB,WAClC,OAAO,OAAAC,EAAA,MAAmB3nB,KAAK0kB,gBAAiB,EAAG1kB,KAAK0kB,gBAAgB3W,OAAQ/N,KAAK6kB,SAYzF4B,EAAWpL,UAAUuM,gBAAkB,SAAU9C,EAAUC,GACvD,OAAON,EAAiBzkB,KAAK0kB,gBAAiB,EAAG1kB,KAAK0kB,gBAAgB3W,OAAQ/N,KAAK6kB,OAAQC,EAAUC,EAAU/kB,KAAK6kB,SAOxH4B,EAAWpL,UAAUwM,UAAY,WAC7B,OAAO,eAAiB7nB,KAAK0kB,gBAAiB,EAAG1kB,KAAK0kB,gBAAgB3W,OAAQ/N,KAAK6kB,SAKvF4B,EAAWpL,UAAUyM,gBAAkB,WAKnC,OAJI9nB,KAAK4mB,uBAAyB5mB,KAAKwgB,gBACnCxgB,KAAK2mB,cAAgB3mB,KAAK4nB,gBAAgB,GAAK5nB,KAAK2mB,eACpD3mB,KAAK4mB,sBAAwB5mB,KAAKwgB,eAE/BxgB,KAAK2mB,eAOhBF,EAAWpL,UAAU0M,8BAAgC,SAAUzH,GAC3D,IAAI0H,EAA4B,GAEhC,OADAA,EAA0Bja,OAAS,eAAe/N,KAAK0kB,gBAAiB,EAAG1kB,KAAK0kB,gBAAgB3W,OAAQ/N,KAAK6kB,OAAQvE,EAAkB0H,EAA2B,GAC3J,IAAIvB,EAAWuB,EAA2BT,EAAA,KAAeU,KAOpExB,EAAWpL,UAAU8E,QAAU,WAC3B,OAAOY,EAAA,KAAamH,aAQxBzB,EAAWpL,UAAU4F,iBAAmB,SAAUjZ,GAC9C,OAAO,eAAqBhI,KAAK0kB,gBAAiB,EAAG1kB,KAAK0kB,gBAAgB3W,OAAQ/N,KAAK6kB,OAAQ7c,IAQnGye,EAAWpL,UAAU0L,eAAiB,SAAU9a,EAAaya,GACzD1mB,KAAKmoB,UAAUzB,EAAYza,EAAa,GACnCjM,KAAK0kB,kBACN1kB,KAAK0kB,gBAAkB,IAE3B1kB,KAAK0kB,gBAAgB3W,OAAS,OAAAqa,EAAA,MAAmBpoB,KAAK0kB,gBAAiB,EAAGzY,EAAajM,KAAK6kB,QAC5F7kB,KAAKmf,WAEFsH,EApMoB,CAqM7B4B,EAAA,MACa,IC3OX,EAAwC,WACxC,IAAIvK,EAAgB,SAAUC,EAAGvF,GAI7B,OAHAsF,EAAgBxE,OAAO0E,gBAClB,CAAEC,UAAW,cAAgBnC,OAAS,SAAUiC,EAAGvF,GAAKuF,EAAEE,UAAYzF,IACvE,SAAUuF,EAAGvF,GAAK,IAAK,IAAI0F,KAAK1F,EAAOc,OAAO+B,UAAU8C,eAAe1M,KAAK+G,EAAG0F,KAAIH,EAAEG,GAAK1F,EAAE0F,KACzFJ,EAAcC,EAAGvF,IAE5B,OAAO,SAAUuF,EAAGvF,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIrZ,UAAU,uBAAyBW,OAAO0Y,GAAK,iCAE7D,SAAS4F,IAAOpe,KAAKqe,YAAcN,EADnCD,EAAcC,EAAGvF,GAEjBuF,EAAE1C,UAAkB,OAAN7C,EAAac,OAAOgF,OAAO9F,IAAM4F,EAAG/C,UAAY7C,EAAE6C,UAAW,IAAI+C,IAZ3C,GAoCxC,EAAiC,SAAUG,GAS3C,SAAS+J,EAAgBrc,EAAaya,EAAY6B,GAC9C,IAAI7J,EAAQH,EAAO9M,KAAKzR,OAASA,KAgBjC,GAXA0e,EAAM8J,MAAQ,GAKd9J,EAAMmI,WAAa,EAKnBnI,EAAMoI,mBAAqB,EACvBhL,MAAMC,QAAQ9P,EAAY,IAC1ByS,EAAMqI,eAC6D,EAAeL,QAEjF,QAAmBlhB,IAAfkhB,GAA4B6B,EACjC7J,EAAMsI,mBAAmBN,EACI,GAC7BhI,EAAM8J,MAAQD,MAEb,CAKD,IAJA,IAAIpB,EAASzI,EAAM+J,YACfC,EAA+C,EAC/ChE,EAAkB,GAClB6B,EAAO,GACFjjB,EAAI,EAAG0b,EAAK0J,EAAY3a,OAAQzK,EAAI0b,IAAM1b,EAAG,CAClD,IAAI4jB,EAAawB,EAAYplB,GACnB,IAANA,IACA6jB,EAASD,EAAWuB,aAExB,eAAO/D,EAAiBwC,EAAWyB,sBACnCpC,EAAK7a,KAAKgZ,EAAgB3W,QAE9B2Q,EAAMsI,mBAAmBG,EAAQzC,GACjChG,EAAM8J,MAAQjC,EAElB,OAAO7H,EAsLX,OAxOA,EAAU4J,EAAiB/J,GAyD3B+J,EAAgBjN,UAAUuN,iBAAmB,SAAU1B,GAC9ClnB,KAAK0kB,gBAIN,eAAO1kB,KAAK0kB,gBAAiBwC,EAAWyB,qBAAqB3M,SAH7Dhc,KAAK0kB,gBAAkBwC,EAAWyB,qBAAqB3M,QAK3Dhc,KAAKwoB,MAAM9c,KAAK1L,KAAK0kB,gBAAgB3W,QACrC/N,KAAKmf,WAOTmJ,EAAgBjN,UAAUC,MAAQ,WAC9B,IAAIuN,EAAkB,IAAIP,EAAgBtoB,KAAK0kB,gBAAgB1I,QAAShc,KAAKmnB,OAAQnnB,KAAKwoB,MAAMxM,SAEhG,OADA6M,EAAgBvJ,gBAAgBtf,MACzB6oB,GASXP,EAAgBjN,UAAUkE,eAAiB,SAAUna,EAAGyT,EAAG2G,EAAcC,GACrE,OAAIA,EAAqB,eAAyBzf,KAAK0f,YAAata,EAAGyT,GAC5D4G,GAEPzf,KAAK8mB,mBAAqB9mB,KAAKwgB,gBAC/BxgB,KAAK6mB,UAAYvM,KAAKoL,KAAK,eAAqB1lB,KAAK0kB,gBAAiB,EAAG1kB,KAAKwoB,MAAOxoB,KAAK6kB,OAAQ,IAClG7kB,KAAK8mB,kBAAoB9mB,KAAKwgB,eAE3B,eAAwBxgB,KAAK0kB,gBAAiB,EAAG1kB,KAAKwoB,MAAOxoB,KAAK6kB,OAAQ7kB,KAAK6mB,WAAW,EAAOzhB,EAAGyT,EAAG2G,EAAcC,KAwBhI6I,EAAgBjN,UAAUgM,iBAAmB,SAAU5kB,EAAG6kB,EAAiBwB,GACvE,GAAK9oB,KAAKmnB,QAAUI,EAAA,KAAeC,KAC/BxnB,KAAKmnB,QAAUI,EAAA,KAAeE,MACE,IAAhCznB,KAAK0kB,gBAAgB3W,OACrB,OAAO,KAEX,IAAIgY,OAAkCvgB,IAApB8hB,GAAgCA,EAC9Cd,OAAkChhB,IAApBsjB,GAAgCA,EAClD,OAAOxC,EAAyBtmB,KAAK0kB,gBAAiB,EAAG1kB,KAAKwoB,MAAOxoB,KAAK6kB,OAAQpiB,EAAGsjB,EAAaS,IAOtG8B,EAAgBjN,UAAUqM,eAAiB,WACvC,OAAO,OAAAC,EAAA,MAAwB3nB,KAAK0kB,gBAAiB,EAAG1kB,KAAKwoB,MAAOxoB,KAAK6kB,SAK7EyD,EAAgBjN,UAAU0N,QAAU,WAChC,OAAO/oB,KAAKwoB,OAQhBF,EAAgBjN,UAAU2N,cAAgB,SAAU7Q,GAChD,OAAIA,EAAQ,GAAKnY,KAAKwoB,MAAMza,QAAUoK,EAC3B,KAEJ,IAAI,EAAWnY,KAAK0kB,gBAAgB1I,MAAgB,IAAV7D,EAAc,EAAInY,KAAKwoB,MAAMrQ,EAAQ,GAAInY,KAAKwoB,MAAMrQ,IAASnY,KAAKmnB,SAOvHmB,EAAgBjN,UAAU4N,eAAiB,WAOvC,IANA,IAAIvE,EAAkB1kB,KAAK0kB,gBACvB6B,EAAOvmB,KAAKwoB,MACZrB,EAASnnB,KAAKmnB,OAEduB,EAAc,GACd/D,EAAS,EACJrhB,EAAI,EAAG0b,EAAKuH,EAAKxY,OAAQzK,EAAI0b,IAAM1b,EAAG,CAC3C,IAAIshB,EAAM2B,EAAKjjB,GACX4jB,EAAa,IAAI,EAAWxC,EAAgB1I,MAAM2I,EAAQC,GAAMuC,GACpEuB,EAAYhd,KAAKwb,GACjBvC,EAASC,EAEb,OAAO8D,GAKXJ,EAAgBjN,UAAU6N,iBAAmB,WAMzC,IALA,IAAIC,EAAY,GACZzE,EAAkB1kB,KAAK0kB,gBACvBC,EAAS,EACT4B,EAAOvmB,KAAKwoB,MACZ3D,EAAS7kB,KAAK6kB,OACTvhB,EAAI,EAAG0b,EAAKuH,EAAKxY,OAAQzK,EAAI0b,IAAM1b,EAAG,CAC3C,IAAIshB,EAAM2B,EAAKjjB,GACX8lB,EAAW3E,EAAiBC,EAAiBC,EAAQC,EAAKC,EAAQ,IACtE,eAAOsE,EAAWC,GAClBzE,EAASC,EAEb,OAAOuE,GAOXb,EAAgBjN,UAAU0M,8BAAgC,SAAUzH,GAChE,IAAI0H,EAA4B,GAC5BqB,EAAiB,GAErB,OADArB,EAA0Bja,OAAS,eAAoB/N,KAAK0kB,gBAAiB,EAAG1kB,KAAKwoB,MAAOxoB,KAAK6kB,OAAQvE,EAAkB0H,EAA2B,EAAGqB,GAClJ,IAAIf,EAAgBN,EAA2BT,EAAA,KAAeU,GAAIoB,IAO7Ef,EAAgBjN,UAAU8E,QAAU,WAChC,OAAOY,EAAA,KAAauI,mBAQxBhB,EAAgBjN,UAAU4F,iBAAmB,SAAUjZ,GACnD,OAAO,eAA0BhI,KAAK0kB,gBAAiB,EAAG1kB,KAAKwoB,MAAOxoB,KAAK6kB,OAAQ7c,IAQvFsgB,EAAgBjN,UAAU0L,eAAiB,SAAU9a,EAAaya,GAC9D1mB,KAAKmoB,UAAUzB,EAAYza,EAAa,GACnCjM,KAAK0kB,kBACN1kB,KAAK0kB,gBAAkB,IAE3B,IAAI6B,EAAO,OAAA6B,EAAA,MAAwBpoB,KAAK0kB,gBAAiB,EAAGzY,EAAajM,KAAK6kB,OAAQ7kB,KAAKwoB,OAC3FxoB,KAAK0kB,gBAAgB3W,OAAyB,IAAhBwY,EAAKxY,OAAe,EAAIwY,EAAKA,EAAKxY,OAAS,GACzE/N,KAAKmf,WAEFmJ,EAzOyB,CA0OlCD,EAAA,MACa,I,YC/QX,EAAwC,WACxC,IAAIvK,EAAgB,SAAUC,EAAGvF,GAI7B,OAHAsF,EAAgBxE,OAAO0E,gBAClB,CAAEC,UAAW,cAAgBnC,OAAS,SAAUiC,EAAGvF,GAAKuF,EAAEE,UAAYzF,IACvE,SAAUuF,EAAGvF,GAAK,IAAK,IAAI0F,KAAK1F,EAAOc,OAAO+B,UAAU8C,eAAe1M,KAAK+G,EAAG0F,KAAIH,EAAEG,GAAK1F,EAAE0F,KACzFJ,EAAcC,EAAGvF,IAE5B,OAAO,SAAUuF,EAAGvF,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIrZ,UAAU,uBAAyBW,OAAO0Y,GAAK,iCAE7D,SAAS4F,IAAOpe,KAAKqe,YAAcN,EADnCD,EAAcC,EAAGvF,GAEjBuF,EAAE1C,UAAkB,OAAN7C,EAAac,OAAOgF,OAAO9F,IAAM4F,EAAG/C,UAAY7C,EAAE6C,UAAW,IAAI+C,IAZ3C,GAgCxC,EAA4B,SAAUG,GAOtC,SAASgL,EAAWtd,EAAaya,GAC7B,IAAIhI,EAAQH,EAAO9M,KAAKzR,OAASA,KASjC,OARI0mB,IAAe5K,MAAMC,QAAQ9P,EAAY,IACzCyS,EAAMsI,mBAAmBN,EACI,GAG7BhI,EAAMqI,eACsD,EAAeL,GAExEhI,EAmIX,OAnJA,EAAU6K,EAAYhL,GAuBtBgL,EAAWlO,UAAUmO,YAAc,SAAUC,GACpCzpB,KAAK0kB,gBAIN,eAAO1kB,KAAK0kB,gBAAiB+E,EAAMd,sBAHnC3oB,KAAK0kB,gBAAkB+E,EAAMd,qBAAqB3M,QAKtDhc,KAAKmf,WAOToK,EAAWlO,UAAUC,MAAQ,WACzB,IAAIoO,EAAa,IAAIH,EAAWvpB,KAAK0kB,gBAAgB1I,QAAShc,KAAKmnB,QAEnE,OADAuC,EAAWpK,gBAAgBtf,MACpB0pB,GASXH,EAAWlO,UAAUkE,eAAiB,SAAUna,EAAGyT,EAAG2G,EAAcC,GAChE,GAAIA,EAAqB,eAAyBzf,KAAK0f,YAAata,EAAGyT,GACnE,OAAO4G,EAIX,IAFA,IAAIiF,EAAkB1kB,KAAK0kB,gBACvBG,EAAS7kB,KAAK6kB,OACTvhB,EAAI,EAAG0b,EAAK0F,EAAgB3W,OAAQzK,EAAI0b,EAAI1b,GAAKuhB,EAAQ,CAC9D,IAAI8E,EAAkB,eAAUvkB,EAAGyT,EAAG6L,EAAgBphB,GAAIohB,EAAgBphB,EAAI,IAC9E,GAAIqmB,EAAkBlK,EAAoB,CACtCA,EAAqBkK,EACrB,IAAK,IAAIC,EAAI,EAAGA,EAAI/E,IAAU+E,EAC1BpK,EAAaoK,GAAKlF,EAAgBphB,EAAIsmB,GAE1CpK,EAAazR,OAAS8W,GAG9B,OAAOpF,GAOX8J,EAAWlO,UAAUqM,eAAiB,WAClC,OAAO,OAAAC,EAAA,MAAmB3nB,KAAK0kB,gBAAiB,EAAG1kB,KAAK0kB,gBAAgB3W,OAAQ/N,KAAK6kB,SAQzF0E,EAAWlO,UAAUwO,SAAW,SAAU1R,GACtC,IAAIgN,EAAKnlB,KAAK0kB,gBAER1kB,KAAK0kB,gBAAgB3W,OAAS/N,KAAK6kB,OADnC,EAEN,OAAI1M,EAAQ,GAAKgN,GAAKhN,EACX,KAEJ,IAAI2R,EAAA,KAAM9pB,KAAK0kB,gBAAgB1I,MAAM7D,EAAQnY,KAAK6kB,QAAS1M,EAAQ,GAAKnY,KAAK6kB,QAAS7kB,KAAKmnB,SAOtGoC,EAAWlO,UAAU0O,UAAY,WAM7B,IALA,IAAIrF,EAAkB1kB,KAAK0kB,gBACvByC,EAASnnB,KAAKmnB,OACdtC,EAAS7kB,KAAK6kB,OAEdmF,EAAS,GACJ1mB,EAAI,EAAG0b,EAAK0F,EAAgB3W,OAAQzK,EAAI0b,EAAI1b,GAAKuhB,EAAQ,CAC9D,IAAI4E,EAAQ,IAAIK,EAAA,KAAMpF,EAAgB1I,MAAM1Y,EAAGA,EAAIuhB,GAASsC,GAC5D6C,EAAOte,KAAK+d,GAEhB,OAAOO,GAOXT,EAAWlO,UAAU8E,QAAU,WAC3B,OAAOY,EAAA,KAAakJ,aAQxBV,EAAWlO,UAAU4F,iBAAmB,SAAUjZ,GAG9C,IAFA,IAAI0c,EAAkB1kB,KAAK0kB,gBACvBG,EAAS7kB,KAAK6kB,OACTvhB,EAAI,EAAG0b,EAAK0F,EAAgB3W,OAAQzK,EAAI0b,EAAI1b,GAAKuhB,EAAQ,CAC9D,IAAIzf,EAAIsf,EAAgBphB,GACpBuV,EAAI6L,EAAgBphB,EAAI,GAC5B,GAAI,eAAW0E,EAAQ5C,EAAGyT,GACtB,OAAO,EAGf,OAAO,GAQX0Q,EAAWlO,UAAU0L,eAAiB,SAAU9a,EAAaya,GACzD1mB,KAAKmoB,UAAUzB,EAAYza,EAAa,GACnCjM,KAAK0kB,kBACN1kB,KAAK0kB,gBAAkB,IAE3B1kB,KAAK0kB,gBAAgB3W,OAAS,OAAAqa,EAAA,MAAmBpoB,KAAK0kB,gBAAiB,EAAGzY,EAAajM,KAAK6kB,QAC5F7kB,KAAKmf,WAEFoK,EApJoB,CAqJ7BlB,EAAA,MACa,I,gDC3KR,SAAS6B,EAAaxF,EAAiBC,EAAQwF,EAAOtF,GAGzD,IAFA,IAAIuF,EAAc,GACdpiB,EAAS,iBACJ1E,EAAI,EAAG0b,EAAKmL,EAAMpc,OAAQzK,EAAI0b,IAAM1b,EAAG,CAC5C,IAAIijB,EAAO4D,EAAM7mB,GACjB0E,EAAS,eAAkC0c,EAAiBC,EAAQ4B,EAAK,GAAI1B,GAC7EuF,EAAY1e,MAAM1D,EAAO,GAAKA,EAAO,IAAM,GAAIA,EAAO,GAAKA,EAAO,IAAM,GACxE2c,EAAS4B,EAAKA,EAAKxY,OAAS,GAEhC,OAAOqc,E,iBCpBP,GAAwC,WACxC,IAAItM,EAAgB,SAAUC,EAAGvF,GAI7B,OAHAsF,EAAgBxE,OAAO0E,gBAClB,CAAEC,UAAW,cAAgBnC,OAAS,SAAUiC,EAAGvF,GAAKuF,EAAEE,UAAYzF,IACvE,SAAUuF,EAAGvF,GAAK,IAAK,IAAI0F,KAAK1F,EAAOc,OAAO+B,UAAU8C,eAAe1M,KAAK+G,EAAG0F,KAAIH,EAAEG,GAAK1F,EAAE0F,KACzFJ,EAAcC,EAAGvF,IAE5B,OAAO,SAAUuF,EAAGvF,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIrZ,UAAU,uBAAyBW,OAAO0Y,GAAK,iCAE7D,SAAS4F,IAAOpe,KAAKqe,YAAcN,EADnCD,EAAcC,EAAGvF,GAEjBuF,EAAE1C,UAAkB,OAAN7C,EAAac,OAAOgF,OAAO9F,IAAM4F,EAAG/C,UAAY7C,EAAE6C,UAAW,IAAI+C,IAZ3C,GAyCxC,GAA8B,SAAUG,GAQxC,SAAS8L,EAAape,EAAaya,EAAY4D,GAC3C,IAAI5L,EAAQH,EAAO9M,KAAKzR,OAASA,KAoCjC,GA/BA0e,EAAM6L,OAAS,GAKf7L,EAAM8L,6BAA+B,EAKrC9L,EAAM+L,oBAAsB,KAK5B/L,EAAMmI,WAAa,EAKnBnI,EAAMoI,mBAAqB,EAK3BpI,EAAMgM,mBAAqB,EAK3BhM,EAAMiM,yBAA2B,MAC5BL,IAAcxO,MAAMC,QAAQ9P,EAAY,IAAK,CAK9C,IAJA,IAAIkb,EAASzI,EAAM+J,YACfmC,EAAyC,EACzClG,EAAkB,GAClByF,EAAQ,GACH7mB,EAAI,EAAG0b,EAAK4L,EAAS7c,OAAQzK,EAAI0b,IAAM1b,EAAG,CAC/C,IAAIunB,EAAUD,EAAStnB,GACb,IAANA,IACA6jB,EAAS0D,EAAQpC,aAIrB,IAFA,IAAI9D,EAASD,EAAgB3W,OACzBwY,EAAOsE,EAAQ9B,UACVa,EAAI,EAAGkB,EAAKvE,EAAKxY,OAAQ6b,EAAIkB,IAAMlB,EACxCrD,EAAKqD,IAAMjF,EAEf,eAAOD,EAAiBmG,EAAQlC,sBAChCwB,EAAMze,KAAK6a,GAEfG,EAAaS,EACblb,EAAcyY,EACd4F,EAAYH,EAWhB,YATmB3kB,IAAfkhB,GAA4B4D,GAC5B5L,EAAMsI,mBAAmBN,EACI,GAC7BhI,EAAM6L,OAASD,GAGf5L,EAAMqI,eACoE,EAAeL,GAEtFhI,EAmPX,OA9TA,GAAU2L,EAAc9L,GAkFxB8L,EAAahP,UAAU0P,cAAgB,SAAUF,GAE7C,IAAItE,EACJ,GAAKvmB,KAAK0kB,gBAKL,CACD,IAAIC,EAAS3kB,KAAK0kB,gBAAgB3W,OAClC,eAAO/N,KAAK0kB,gBAAiBmG,EAAQlC,sBACrCpC,EAAOsE,EAAQ9B,UAAU/M,QACzB,IAAK,IAAI1Y,EAAI,EAAG0b,EAAKuH,EAAKxY,OAAQzK,EAAI0b,IAAM1b,EACxCijB,EAAKjjB,IAAMqhB,OATf3kB,KAAK0kB,gBAAkBmG,EAAQlC,qBAAqB3M,QACpDuK,EAAOsE,EAAQ9B,UAAU/M,QACzBhc,KAAKuqB,OAAO7e,OAUhB1L,KAAKuqB,OAAO7e,KAAK6a,GACjBvmB,KAAKmf,WAOTkL,EAAahP,UAAUC,MAAQ,WAG3B,IAFA,IAAI0P,EAAMhrB,KAAKuqB,OAAOxc,OAClBkd,EAAW,IAAInP,MAAMkP,GAChB1nB,EAAI,EAAGA,EAAI0nB,IAAO1nB,EACvB2nB,EAAS3nB,GAAKtD,KAAKuqB,OAAOjnB,GAAG0Y,QAEjC,IAAIkP,EAAe,IAAIb,EAAarqB,KAAK0kB,gBAAgB1I,QAAShc,KAAKmnB,OAAQ8D,GAE/E,OADAC,EAAa5L,gBAAgBtf,MACtBkrB,GASXb,EAAahP,UAAUkE,eAAiB,SAAUna,EAAGyT,EAAG2G,EAAcC,GAClE,OAAIA,EAAqB,eAAyBzf,KAAK0f,YAAata,EAAGyT,GAC5D4G,GAEPzf,KAAK8mB,mBAAqB9mB,KAAKwgB,gBAC/BxgB,KAAK6mB,UAAYvM,KAAKoL,KAAK,eAA0B1lB,KAAK0kB,gBAAiB,EAAG1kB,KAAKuqB,OAAQvqB,KAAK6kB,OAAQ,IACxG7kB,KAAK8mB,kBAAoB9mB,KAAKwgB,eAE3B,eAA6BxgB,KAAKmrB,6BAA8B,EAAGnrB,KAAKuqB,OAAQvqB,KAAK6kB,OAAQ7kB,KAAK6mB,WAAW,EAAMzhB,EAAGyT,EAAG2G,EAAcC,KAOlJ4K,EAAahP,UAAUuE,WAAa,SAAUxa,EAAGyT,GAC7C,OAAO,gBAAuB7Y,KAAKmrB,6BAA8B,EAAGnrB,KAAKuqB,OAAQvqB,KAAK6kB,OAAQzf,EAAGyT,IAOrGwR,EAAahP,UAAU+P,QAAU,WAC7B,OAAO,eAAiBprB,KAAKmrB,6BAA8B,EAAGnrB,KAAKuqB,OAAQvqB,KAAK6kB,SAepFwF,EAAahP,UAAUqM,eAAiB,SAAU2D,GAC9C,IAAI3G,EAQJ,YAPkBlf,IAAd6lB,GACA3G,EAAkB1kB,KAAKmrB,6BAA6BnP,QACpD,OAAAsP,EAAA,MAAuB5G,EAAiB,EAAG1kB,KAAKuqB,OAAQvqB,KAAK6kB,OAAQwG,IAGrE3G,EAAkB1kB,KAAK0kB,gBAEpB,OAAAiD,EAAA,MAA6BjD,EAAiB,EAAG1kB,KAAKuqB,OAAQvqB,KAAK6kB,SAK9EwF,EAAahP,UAAUkQ,SAAW,WAC9B,OAAOvrB,KAAKuqB,QAKhBF,EAAahP,UAAUmQ,sBAAwB,WAC3C,GAAIxrB,KAAKwqB,6BAA+BxqB,KAAKwgB,cAAe,CACxD,IAAI4J,EAAcF,EAAmBlqB,KAAK0kB,gBAAiB,EAAG1kB,KAAKuqB,OAAQvqB,KAAK6kB,QAChF7kB,KAAKyqB,oBAAsB,eAA8BzqB,KAAKmrB,6BAA8B,EAAGnrB,KAAKuqB,OAAQvqB,KAAK6kB,OAAQuF,GACzHpqB,KAAKwqB,4BAA8BxqB,KAAKwgB,cAE5C,OAAOxgB,KAAKyqB,qBAQhBJ,EAAahP,UAAUoQ,kBAAoB,WACvC,OAAO,IAAI,EAAWzrB,KAAKwrB,wBAAwBxP,QAASuL,EAAA,KAAeC,MAK/E6C,EAAahP,UAAU8P,2BAA6B,WAChD,GAAInrB,KAAK0qB,mBAAqB1qB,KAAKwgB,cAAe,CAC9C,IAAIkE,EAAkB1kB,KAAK0kB,gBACvB,eAAwBA,EAAiB,EAAG1kB,KAAKuqB,OAAQvqB,KAAK6kB,QAC9D7kB,KAAK2qB,yBAA2BjG,GAGhC1kB,KAAK2qB,yBAA2BjG,EAAgB1I,QAChDhc,KAAK2qB,yBAAyB5c,OAAS,OAAAud,EAAA,MAAuBtrB,KAAK2qB,yBAA0B,EAAG3qB,KAAKuqB,OAAQvqB,KAAK6kB,SAEtH7kB,KAAK0qB,kBAAoB1qB,KAAKwgB,cAElC,OAAOxgB,KAAK2qB,0BAOhBN,EAAahP,UAAU0M,8BAAgC,SAAUzH,GAC7D,IAAI0H,EAA4B,GAC5B0D,EAAkB,GAEtB,OADA1D,EAA0Bja,OAAS,eAAmB/N,KAAK0kB,gBAAiB,EAAG1kB,KAAKuqB,OAAQvqB,KAAK6kB,OAAQvK,KAAKoL,KAAKpF,GAAmB0H,EAA2B,EAAG0D,GAC7J,IAAIrB,EAAarC,EAA2BT,EAAA,KAAeU,GAAIyD,IAQ1ErB,EAAahP,UAAUsQ,WAAa,SAAUxT,GAC1C,GAAIA,EAAQ,GAAKnY,KAAKuqB,OAAOxc,QAAUoK,EACnC,OAAO,KAEX,IAAIwM,EACJ,GAAc,IAAVxM,EACAwM,EAAS,MAER,CACD,IAAIiH,EAAW5rB,KAAKuqB,OAAOpS,EAAQ,GACnCwM,EAASiH,EAASA,EAAS7d,OAAS,GAExC,IAAIwY,EAAOvmB,KAAKuqB,OAAOpS,GAAO6D,QAC1B4I,EAAM2B,EAAKA,EAAKxY,OAAS,GAC7B,GAAe,IAAX4W,EACA,IAAK,IAAIrhB,EAAI,EAAG0b,EAAKuH,EAAKxY,OAAQzK,EAAI0b,IAAM1b,EACxCijB,EAAKjjB,IAAMqhB,EAGnB,OAAO,IAAIkH,EAAA,KAAQ7rB,KAAK0kB,gBAAgB1I,MAAM2I,EAAQC,GAAM5kB,KAAKmnB,OAAQZ,IAO7E8D,EAAahP,UAAUyQ,YAAc,WAMjC,IALA,IAAI3E,EAASnnB,KAAKmnB,OACdzC,EAAkB1kB,KAAK0kB,gBACvByF,EAAQnqB,KAAKuqB,OACbK,EAAW,GACXjG,EAAS,EACJrhB,EAAI,EAAG0b,EAAKmL,EAAMpc,OAAQzK,EAAI0b,IAAM1b,EAAG,CAC5C,IAAIijB,EAAO4D,EAAM7mB,GAAG0Y,QAChB4I,EAAM2B,EAAKA,EAAKxY,OAAS,GAC7B,GAAe,IAAX4W,EACA,IAAK,IAAIiF,EAAI,EAAGkB,EAAKvE,EAAKxY,OAAQ6b,EAAIkB,IAAMlB,EACxCrD,EAAKqD,IAAMjF,EAGnB,IAAIkG,EAAU,IAAIgB,EAAA,KAAQnH,EAAgB1I,MAAM2I,EAAQC,GAAMuC,EAAQZ,GACtEqE,EAASlf,KAAKmf,GACdlG,EAASC,EAEb,OAAOgG,GAOXP,EAAahP,UAAU8E,QAAU,WAC7B,OAAOY,EAAA,KAAagL,eAQxB1B,EAAahP,UAAU4F,iBAAmB,SAAUjZ,GAChD,OAAO,eAA+BhI,KAAKmrB,6BAA8B,EAAGnrB,KAAKuqB,OAAQvqB,KAAK6kB,OAAQ7c,IAQ1GqiB,EAAahP,UAAU0L,eAAiB,SAAU9a,EAAaya,GAC3D1mB,KAAKmoB,UAAUzB,EAAYza,EAAa,GACnCjM,KAAK0kB,kBACN1kB,KAAK0kB,gBAAkB,IAE3B,IAAIyF,EAAQ,OAAA/B,EAAA,MAA6BpoB,KAAK0kB,gBAAiB,EAAGzY,EAAajM,KAAK6kB,OAAQ7kB,KAAKuqB,QACjG,GAAqB,IAAjBJ,EAAMpc,OACN/N,KAAK0kB,gBAAgB3W,OAAS,MAE7B,CACD,IAAIie,EAAW7B,EAAMA,EAAMpc,OAAS,GACpC/N,KAAK0kB,gBAAgB3W,OACG,IAApBie,EAASje,OAAe,EAAIie,EAASA,EAASje,OAAS,GAE/D/N,KAAKmf,WAEFkL,EA/TsB,CAgU/BhC,EAAA,MACa,M,aCvWX,GAAwC,WACxC,IAAIvK,EAAgB,SAAUC,EAAGvF,GAI7B,OAHAsF,EAAgBxE,OAAO0E,gBAClB,CAAEC,UAAW,cAAgBnC,OAAS,SAAUiC,EAAGvF,GAAKuF,EAAEE,UAAYzF,IACvE,SAAUuF,EAAGvF,GAAK,IAAK,IAAI0F,KAAK1F,EAAOc,OAAO+B,UAAU8C,eAAe1M,KAAK+G,EAAG0F,KAAIH,EAAEG,GAAK1F,EAAE0F,KACzFJ,EAAcC,EAAGvF,IAE5B,OAAO,SAAUuF,EAAGvF,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIrZ,UAAU,uBAAyBW,OAAO0Y,GAAK,iCAE7D,SAAS4F,IAAOpe,KAAKqe,YAAcN,EADnCD,EAAcC,EAAGvF,GAEjBuF,EAAE1C,UAAkB,OAAN7C,EAAac,OAAOgF,OAAO9F,IAAM4F,EAAG/C,UAAY7C,EAAE6C,UAAW,IAAI+C,IAZ3C,GA2DxC,GAAyB,SAAUG,GAKnC,SAAS0N,EAAQxS,GACb,IAAIiF,EAAQ1e,KACRuR,EAAUkI,GAA4B,GAyB1C,OAxBAiF,EAAQH,EAAO9M,KAAKzR,OAASA,KAI7B0e,EAAMuD,eAAiB,eAAc1Q,EAAQ0Q,eAAiB1Q,EAAQ0Q,eAAiB,aACnF1Q,EAAQmR,oBACRhE,EAAMwD,yBAA2B,eAAc3Q,EAAQmR,oBAO3DhE,EAAMwN,cAAgB3a,EAAQ4a,aAM9BzN,EAAM0N,qBAAuB7a,EAAQ8a,oBACrC3N,EAAMyD,oBAAsB,CACxB,uBACA,4BAEGzD,EAiKX,OAhMA,GAAUuN,EAAS1N,GAuCnB0N,EAAQ5Q,UAAUyI,sBAAwB,SAAUG,EAAQxK,GAIxD,IAAI6S,EAAiB,KAEjBA,EADmB,YAAnBrI,EAAO,QACwC,EAG9B,CACb,KAAQ,UACR,SAA2C,EAC3C,WAAc,MAGtB,IAAIjY,EAAW8W,GAAawJ,EAAe,YAAa7S,GACpD3O,EAAU,IAAIyhB,EAAA,KAelB,OAdIvsB,KAAKksB,cACLphB,EAAQ0hB,gBAAgBxsB,KAAKksB,eAExBlsB,KAAKosB,sBACV,kBAAmBE,SAAmB9mB,GACtCsF,EAAQ0hB,gBAAgBF,EAAe,kBAE3CxhB,EAAQ2hB,YAAYzgB,GAChB,OAAQsgB,GACRxhB,EAAQ4hB,MAAMJ,EAAe,OAE7BA,EAAe,eACfxhB,EAAQ6hB,cAAcL,EAAe,eAAe,GAEjDxhB,GAQXmhB,EAAQ5Q,UAAU2I,uBAAyB,SAAUC,EAAQxK,GACzD,IAAImT,EAA6C,EAE7C3J,EAAW,KACf,GAA8B,sBAA1B2J,EAAc,QAAiC,CAC/C,IAAIC,EAAmE,EACvE5J,EAAW,GAEX,IADA,IAAI6J,EAAkBD,EAAyB,YACtCvpB,EAAI,EAAG0b,EAAK8N,EAAgB/e,OAAQzK,EAAI0b,IAAM1b,EACnD2f,EAASvX,KAAK1L,KAAK8jB,sBAAsBgJ,EAAgBxpB,GAAImW,SAIjEwJ,EAAW,CAACjjB,KAAK8jB,sBAAsBG,EAAQxK,IAEnD,OAAOwJ,GAQXgJ,EAAQ5Q,UAAU6I,uBAAyB,SAAUD,EAAQxK,GACzD,OAAOqJ,GAAamB,EAAQxK,IAOhCwS,EAAQ5Q,UAAU8I,yBAA2B,SAAUF,GACnD,IACI5Z,EADA0iB,EAAM9I,EAAO,OAgBjB,OAdI8I,EACmB,QAAfA,EAAI,QACJ1iB,EAAa,eAAc0iB,EAAI,cAAc,SAExB,SAAhBA,EAAI,QACT1iB,EAAa,eAAc,QAAU0iB,EAAI,cAAc,SAGvD,iBAAO,EAAO,IAIlB1iB,EAAarK,KAAKiiB,eAEwC,GAUlEgK,EAAQ5Q,UAAUgJ,mBAAqB,SAAUvZ,EAAS2O,GACtDA,EAAczZ,KAAK2iB,aAAalJ,GAEhC,IAAIwK,EAAS,CACT,KAAQ,UACRjY,SAAU,KACVG,WAAY,MAEZJ,EAAKjB,EAAQkiB,QAIjB,QAHWxnB,IAAPuG,IACAkY,EAAOlY,GAAKA,IAEXjB,EAAQmiB,gBACT,OAAOhJ,EAEX,IAAI9X,EAAarB,EAAQoiB,gBACrBlhB,EAAWlB,EAAQqiB,cAQvB,OAPInhB,IACAiY,EAAOjY,SAAWkX,GAAclX,EAAUyN,UACnCtN,EAAWrB,EAAQsiB,oBAEzB,eAAQjhB,KACT8X,EAAO9X,WAAaA,GAEjB8X,GAUXgI,EAAQ5Q,UAAUiJ,oBAAsB,SAAUrB,EAAUxJ,GACxDA,EAAczZ,KAAK2iB,aAAalJ,GAEhC,IADA,IAAI4T,EAAU,GACL/pB,EAAI,EAAG0b,EAAKiE,EAASlV,OAAQzK,EAAI0b,IAAM1b,EAC5C+pB,EAAQ3hB,KAAK1L,KAAKqkB,mBAAmBpB,EAAS3f,GAAImW,IAEtD,MAAO,CACHpU,KAAM,oBACN4d,SAAUoK,IAWlBpB,EAAQ5Q,UAAUkJ,oBAAsB,SAAUvY,EAAUyN,GACxD,OAAOyJ,GAAclX,EAAUhM,KAAK2iB,aAAalJ,KAE9CwS,EAjMiB,CAkM1B,GAMF,SAASnJ,GAAamB,EAAQxK,GAC1B,IAAKwK,EACD,OAAO,KAKX,IAAIjY,EACJ,OAAQiY,EAAO,SACX,KAAKlD,EAAA,KAAatG,MACdzO,EAAWshB,GAA8C,GACzD,MAEJ,KAAKvM,EAAA,KAAamH,YACdlc,EAAWuhB,GACsB,GACjC,MAEJ,KAAKxM,EAAA,KAAayM,QACdxhB,EAAWyhB,GAAkD,GAC7D,MAEJ,KAAK1M,EAAA,KAAakJ,YACdje,EAAW0hB,GACsB,GACjC,MAEJ,KAAK3M,EAAA,KAAauI,kBACdtd,EAAW2hB,GAC2B,GACtC,MAEJ,KAAK5M,EAAA,KAAagL,cACd/f,EAAW4hB,GACwB,GACnC,MAEJ,KAAK7M,EAAA,KAAaC,oBACdhV,EAAW6hB,GAC8B,GACzC,MAEJ,QACI,MAAM,IAAIC,MAAM,6BAA+B7J,EAAO5e,MAG9D,OAAO8d,EAA6BnX,GAAU,EAAOyN,GAOzD,SAASoU,GAA+B5J,EAAQxK,GAC5C,IAAIkG,EAAasE,EAAO,cAAc7c,KAKtC,SAAU4E,GACN,OAAO8W,GAAa9W,EAAUyN,MAElC,OAAO,IAAI,EAAmBkG,GAMlC,SAAS2N,GAAkBrJ,GACvB,OAAO,IAAI6F,EAAA,KAAM7F,EAAO,gBAM5B,SAASsJ,GAAuBtJ,GAC5B,OAAO,IAAI,EAAWA,EAAO,gBAMjC,SAAS0J,GAA4B1J,GACjC,OAAO,IAAI,EAAgBA,EAAO,gBAMtC,SAASyJ,GAAuBzJ,GAC5B,OAAO,IAAI,EAAWA,EAAO,gBAMjC,SAAS2J,GAAyB3J,GAC9B,OAAO,IAAI,GAAaA,EAAO,gBAMnC,SAASwJ,GAAoBxJ,GACzB,OAAO,IAAI4H,EAAA,KAAQ5H,EAAO,gBAO9B,SAASf,GAAclX,EAAUyN,GAC7BzN,EAAWmX,EAA6BnX,GAAU,EAAMyN,GACxD,IAEIsU,EAFA1oB,EAAO2G,EAASmU,UAGpB,OAAQ9a,GACJ,KAAK0b,EAAA,KAAatG,MACdsT,EAAUC,GACW,EAAYvU,GACjC,MAEJ,KAAKsH,EAAA,KAAamH,YACd6F,EAAUE,GACgB,EAAYxU,GACtC,MAEJ,KAAKsH,EAAA,KAAayM,QACdO,EAAUG,GACa,EAAYzU,GACnC,MAEJ,KAAKsH,EAAA,KAAakJ,YACd8D,EAAUI,GACgB,EAAY1U,GACtC,MAEJ,KAAKsH,EAAA,KAAauI,kBACdyE,EAAUK,GACqB,EAAY3U,GAC3C,MAEJ,KAAKsH,EAAA,KAAagL,cACdgC,EAAUM,GACkB,EAAY5U,GACxC,MAEJ,KAAKsH,EAAA,KAAaC,oBACd+M,EAAUO,GACwB,EAAY7U,GAC9C,MAEJ,KAAKsH,EAAA,KAAawN,OACdR,EAAU,CACN1oB,KAAM,qBACNsa,WAAY,IAEhB,MAEJ,QACI,MAAM,IAAImO,MAAM,8BAAgCzoB,GAGxD,OAAO0oB,EAOX,SAASO,GAAgCtiB,EAAUyN,GAC/C,IAAIkG,EAAa3T,EAASgU,qBAAqB5Y,KAAI,SAAU4E,GACzD,IAAIuF,EAAU,eAAO,GAAIkI,GAEzB,cADOlI,EAAQmR,kBACRQ,GAAclX,EAAUuF,MAEnC,MAAO,CACHlM,KAAM,qBACNsa,WAAYA,GAQpB,SAASsO,GAAwBjiB,EAAUyN,GACvC,MAAO,CACHpU,KAAM,aACN4G,YAAaD,EAAS0b,kBAQ9B,SAAS0G,GAA6BpiB,EAAUyN,GAC5C,MAAO,CACHpU,KAAM,kBACN4G,YAAaD,EAAS0b,kBAQ9B,SAASyG,GAAwBniB,EAAUyN,GACvC,MAAO,CACHpU,KAAM,aACN4G,YAAaD,EAAS0b,kBAQ9B,SAAS2G,GAA0BriB,EAAUyN,GACzC,IAAI/E,EAIJ,OAHI+E,IACA/E,EAAQ+E,EAAY+U,aAEjB,CACHnpB,KAAM,eACN4G,YAAaD,EAAS0b,eAAehT,IAQ7C,SAASsZ,GAAmBhiB,EAAUyN,GAClC,MAAO,CACHpU,KAAM,QACN4G,YAAaD,EAAS0b,kBAQ9B,SAASwG,GAAqBliB,EAAUyN,GACpC,IAAI/E,EAIJ,OAHI+E,IACA/E,EAAQ+E,EAAY+U,aAEjB,CACHnpB,KAAM,UACN4G,YAAaD,EAAS0b,eAAehT,IAG9B,W,kCCrgBf,0BAEe,sBAAK,W,kCCDpB,IAAI+Z,EAAa,EAAQ,QAErBC,EAAQpU,KAAKoU,MAEbC,EAAY,SAAU3V,EAAOJ,GAC/B,IAAI7K,EAASiL,EAAMjL,OACf6gB,EAASF,EAAM3gB,EAAS,GAC5B,OAAOA,EAAS,EAAI8gB,EAAc7V,EAAOJ,GAAakW,EACpD9V,EACA2V,EAAUF,EAAWzV,EAAO,EAAG4V,GAAShW,GACxC+V,EAAUF,EAAWzV,EAAO4V,GAAShW,GACrCA,IAIAiW,EAAgB,SAAU7V,EAAOJ,GACnC,IAEImW,EAASnF,EAFT7b,EAASiL,EAAMjL,OACfzK,EAAI,EAGR,MAAOA,EAAIyK,EAAQ,CACjB6b,EAAItmB,EACJyrB,EAAU/V,EAAM1V,GAChB,MAAOsmB,GAAKhR,EAAUI,EAAM4Q,EAAI,GAAImF,GAAW,EAC7C/V,EAAM4Q,GAAK5Q,IAAQ4Q,GAEjBA,IAAMtmB,MAAK0V,EAAM4Q,GAAKmF,GAC1B,OAAO/V,GAGP8V,EAAQ,SAAU9V,EAAOxE,EAAME,EAAOkE,GACxC,IAAIoW,EAAUxa,EAAKzG,OACfkhB,EAAUva,EAAM3G,OAChBmhB,EAAS,EACTC,EAAS,EAEb,MAAOD,EAASF,GAAWG,EAASF,EAClCjW,EAAMkW,EAASC,GAAWD,EAASF,GAAWG,EAASF,EACnDrW,EAAUpE,EAAK0a,GAASxa,EAAMya,KAAY,EAAI3a,EAAK0a,KAAYxa,EAAMya,KACrED,EAASF,EAAUxa,EAAK0a,KAAYxa,EAAMya,KAC9C,OAAOnW,GAGXja,EAAOC,QAAU2vB,G,kCC5CjB,gEAAI9Q,EAAwC,WACxC,IAAIC,EAAgB,SAAUC,EAAGvF,GAI7B,OAHAsF,EAAgBxE,OAAO0E,gBAClB,CAAEC,UAAW,cAAgBnC,OAAS,SAAUiC,EAAGvF,GAAKuF,EAAEE,UAAYzF,IACvE,SAAUuF,EAAGvF,GAAK,IAAK,IAAI0F,KAAK1F,EAAOc,OAAO+B,UAAU8C,eAAe1M,KAAK+G,EAAG0F,KAAIH,EAAEG,GAAK1F,EAAE0F,KACzFJ,EAAcC,EAAGvF,IAE5B,OAAO,SAAUuF,EAAGvF,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIrZ,UAAU,uBAAyBW,OAAO0Y,GAAK,iCAE7D,SAAS4F,IAAOpe,KAAKqe,YAAcN,EADnCD,EAAcC,EAAGvF,GAEjBuF,EAAE1C,UAAkB,OAAN7C,EAAac,OAAOgF,OAAO9F,IAAM4F,EAAG/C,UAAY7C,EAAE6C,UAAW,IAAI+C,IAZ3C,GAuBxCgR,EAAS,CACT,mBACA,yBACA,sBAKAC,EAAsB,CAMtBC,gBAAiB,kBAMjBC,gBAAiB,mBA6CjBC,EAA4B,SAAUjR,GAKtC,SAASiR,EAAW/V,GAChB,IAAIiF,EAAQ1e,KACRuR,EAAUkI,GAA4B,GAC1CiF,EAAQH,EAAO9M,KAAKzR,KAAM,CACtB+uB,QAASU,SAASC,cAAc,OAChCxlB,OAAQqH,EAAQrH,UACdlK,KAIN0e,EAAMjd,GAINid,EAAMiR,KAINjR,EAAMkR,GAKNlR,EAAMmR,mBACoBrqB,IAAtB+L,EAAQ7D,UAA0B6D,EAAQ7D,UAAY,iBAK1DgR,EAAMoR,sBAC0BtqB,IAA5B+L,EAAQwe,gBACFxe,EAAQwe,gBAAgBxkB,MAAM,KAC9B,CAACmT,EAAMmR,cAAgB,SAKjCnR,EAAMsR,wBAC4BxqB,IAA9B+L,EAAQ0e,kBACF1e,EAAQ0e,kBAAkB1kB,MAAM,KAChC,CAACmT,EAAMmR,cAAgB,UACjC,IAAIvrB,OAA0BkB,IAAlB+L,EAAQjN,MAAsBiN,EAAQjN,MAAQ,IAK1Doa,EAAMwR,WACe,kBAAV5rB,EAAqBmrB,SAASU,eAAe7rB,GAASA,EACjE,IAAI8rB,OAAsC5qB,IAAxB+L,EAAQ6e,YAA4B7e,EAAQ6e,YAAc,IAK5E1R,EAAM2R,iBACqB,kBAAhBD,EACDX,SAASU,eAAeC,GACxBA,EAKV1R,EAAM4R,QAAUb,SAASC,cAAc,UACvC,IAAIa,EAAWhf,EAAQgf,SAAWhf,EAAQgf,SAAW,qBACrD7R,EAAM8R,cAAc9R,EAAM4R,QAASG,KACnC/R,EAAM4R,QAAQI,aAAa,OAAQ,UACnChS,EAAM4R,QAAQthB,MAAQuhB,EACtB7R,EAAM4R,QAAQK,YAAYjS,EAAMwR,YAChCxR,EAAM4R,QAAQM,iBAAiB,OAAUC,MAAOnS,EAAMoS,aAAaC,KAAKrS,IAAQ,GAChF,IAAIsS,EAAatS,EAAMmR,cACnB,IACA,OACA,IACA,OACA,KACEoB,IAA8C,GAApB,QAC5BlC,EAAUrQ,EAAMqQ,QAapB,OAZAA,EAAQrhB,UAAYsjB,EACpBjC,EAAQ4B,YAAYjS,EAAM4R,SAK1B5R,EAAMwS,WAAyB1rB,IAAjB+L,EAAQpG,MAAqBoG,EAAQpG,KAKnDuT,EAAMyS,QAAU5f,EAAQ9D,OACjBiR,EA2FX,OAvLAb,EAAU2R,EAAYjR,GAkGtBiR,EAAWnU,UAAUyV,aAAe,SAAUM,GAC1CA,EAAMC,iBACNrxB,KAAKsxB,qBAKT9B,EAAWnU,UAAUiW,kBAAoB,WACrC,GAAKL,IAAL,CAGA,IAAI7pB,EAAMpH,KAAKuxB,SACf,GAAKnqB,EAGL,GAAIqpB,IACAe,QAEC,CACD,IAAIzC,OAAU,EAEVA,EADA/uB,KAAKmxB,QAEuB,kBAAjBnxB,KAAKmxB,QACN1B,SAASgC,eAAezxB,KAAKmxB,SAC7BnxB,KAAKmxB,QAGL/pB,EAAIsqB,mBAEd1xB,KAAKkxB,MACLS,EAA0B5C,GAG1B6C,EAAkB7C,MAO9BS,EAAWnU,UAAUwW,wBAA0B,WAC3C,IAAIzqB,EAAMpH,KAAKuxB,SACXd,KACAzwB,KAAKwwB,cAAcxwB,KAAKswB,SAAS,GACjC,eAAYtwB,KAAKqwB,iBAAkBrwB,KAAKkwB,YACxClwB,KAAK8xB,cAAczC,EAAoBC,mBAGvCtvB,KAAKwwB,cAAcxwB,KAAKswB,SAAS,GACjC,eAAYtwB,KAAKkwB,WAAYlwB,KAAKqwB,kBAClCrwB,KAAK8xB,cAAczC,EAAoBE,kBAEvCnoB,GACAA,EAAI2qB,cAQZvC,EAAWnU,UAAUmV,cAAgB,SAAUzB,EAASiD,GACpD,IAAIC,EAAItwB,EAAIV,EACR8uB,EAAkB/vB,KAAK8vB,iBACvBG,EAAoBjwB,KAAKgwB,mBACzBkC,EAAgBF,EAAajC,EAAkBE,GAClDgC,EAAKlD,EAAQoD,WAAWC,OAAOC,MAAMJ,EAAIlC,IACzCpuB,EAAKotB,EAAQoD,WAAWC,OAAOC,MAAM1wB,EAAIsuB,IACzChvB,EAAK8tB,EAAQoD,WAAWG,IAAID,MAAMpxB,EAAIixB,IAS3C1C,EAAWnU,UAAUrR,OAAS,SAAU5C,GAEpC,GADAmX,EAAOlD,UAAUrR,OAAOyH,KAAKzR,KAAMoH,GAC/BA,EACA,IAAK,IAAI9D,EAAI,EAAG0b,EAAKoQ,EAAOrhB,OAAQzK,EAAI0b,IAAM1b,EAC1CtD,KAAKuyB,aAAa7mB,KAAK,eAAO+jB,SAAUL,EAAO9rB,GAAItD,KAAK6xB,wBAAyB7xB,QAItFwvB,EAxLoB,CAyL7B,QAIF,SAASyB,IACL,IAAIuB,EAAO/C,SAAS+C,KACpB,SAAUA,EAAK,4BACVA,EAAK,wBAA0B/C,SAAS,wBACxC+C,EAAKC,mBAAqBhD,SAASiD,mBAK5C,SAASjC,IACL,SAAUhB,SAAS,uBACfA,SAAS,wBACTA,SAASkD,mBAMjB,SAASf,EAAkB7C,GACnBA,EAAQ0D,kBACR1D,EAAQ0D,oBAEH1D,EAAQ,uBACbA,EAAQ,yBAEHA,EAAQ,4BACbA,EAAQ,6BAOhB,SAAS4C,EAA0B5C,GAC3BA,EAAQ,2BACRA,EAAQ,6BAGR6C,EAAkB7C,GAM1B,SAASyC,IACD/B,SAASmD,eACTnD,SAASmD,iBAEJnD,SAAS,oBACdA,SAAS,sBAEJA,SAAS,yBACdA,SAAS,0BAGF,U,qBC5Uf1wB,EAAOC,QAAU,IAA0B,4C,qBCA3CD,EAAOC,QAAU,IAA0B,8B,kCCC3C,IAAI6zB,EAAK,EAAQ,QAEjB9zB,EAAOC,QAAU,eAAe2Y,KAAKkb,I,4CCHrC9zB,EAAOC,QAAU,IAA0B,6C,mBCA3CD,EAAOC,QAAU,k2D,mBCAjBD,EAAOC,QAAU,0/B,kCCAjB,sFAOO,SAAS8zB,EAAQ/f,GACtBA,EAAEse,iBAIW,sBAAO,OAAQ,OAAY,QAAY/xB,OAAO,CAC3DC,KAAM,aACNwC,MAAO,CACLgxB,KAAM,aACN3B,MAAO,UAET5xB,MAAO,CACLuM,GAAIjM,OACJkzB,WAAY,KACZC,WAAY,KACZC,UAAW,KACXC,SAAU,CACR9tB,KAAM3F,QACNc,QAAS,MAEX8D,MAAOxE,QAGT,OACE,MAAO,CACLwU,SAAUtU,KAAKgzB,WACfI,UAAWpzB,KAAKgzB,aAIpBjzB,SAAU,CACR,gBACE,GAAKC,KAAK0R,SACV,OAAI1R,KAAKoI,MAAcpI,KAAKoI,MACxBpI,KAAKqzB,SAAWrzB,KAAKszB,UAAkB,QACpC,WAGT,aACE,OAAyB,IAAlBtzB,KAAKmzB,UAAuC,OAAlBnzB,KAAKmzB,UAAqBrX,MAAMC,QAAQ/b,KAAKuzB,gBAGhF,WACE,MAAMvxB,EAAQhC,KAAKgC,MACbwxB,EAAQxzB,KAAKuzB,cAEnB,OAAIvzB,KAAKyzB,aACF3X,MAAMC,QAAQyX,IACZA,EAAME,KAAKrwB,GAAQrD,KAAK2zB,gBAAgBtwB,EAAMrB,SAGhCwD,IAAnBxF,KAAKkzB,gBAA+C1tB,IAApBxF,KAAKizB,WAChCjxB,EAAQhC,KAAK2zB,gBAAgB3xB,EAAOwxB,GAAS9zB,QAAQ8zB,GAGvDxzB,KAAK2zB,gBAAgBH,EAAOxzB,KAAKkzB,YAG1C,UACE,OAAOlzB,KAAK0R,UAGd,cACE,OAAQ1R,KAAKqR,YAAerR,KAAKmS,gBAA8BnS,KAAKmS,qBAAjB3M,IAIvDouB,MAAO,CACL,WAAWC,GACT7zB,KAAKozB,UAAYS,EACjB7zB,KAAKsU,SAAWuf,IAIpB3zB,QAAS,CACP,WACE,MAAMoE,EAAQ,OAAOiN,QAAQrR,QAAQoT,SAAS7B,KAAKzR,MACnD,OAAKsE,GACLA,EAAM4C,KAAKzF,GAAK,CAEd8Q,MAAOugB,GAEFxuB,GALYA,GAQrB,SAASe,EAAMjE,GACb,OAAOpB,KAAKK,eAAe,QAAS,CAClCe,MAAOkY,OAAOwa,OAAO,CACnB,eAAgB9zB,KAAK0R,SAASyF,WAC9BnG,SAAUhR,KAAKqR,WACftF,GAAI/L,KAAK4R,WACT6B,KAAMpO,EACNA,QACCjE,GACH2yB,SAAU,CACR/xB,MAAOhC,KAAKgC,MACZgyB,QAASh0B,KAAK0R,UAEhBjQ,GAAI,CACFwyB,KAAMj0B,KAAKk0B,OACXC,OAAQn0B,KAAKmT,SACblK,MAAOjJ,KAAKo0B,QACZC,QAASr0B,KAAKkT,UACdX,MAAOugB,GAET3xB,IAAK,WAIT,SACEnB,KAAKoR,WAAY,GAGnB,QAAQ2B,GACN/S,KAAKmT,WACLnT,KAAKgT,MAAM,QAASD,IAGtB,WACE,IAAK/S,KAAKs0B,cAAe,OACzB,MAAMtyB,EAAQhC,KAAKgC,MACnB,IAAIwxB,EAAQxzB,KAAKuzB,cAEjB,GAAIvzB,KAAKyzB,WAAY,CACd3X,MAAMC,QAAQyX,KACjBA,EAAQ,IAGV,MAAMzlB,EAASylB,EAAMzlB,OACrBylB,EAAQA,EAAMe,OAAOlxB,IAASrD,KAAK2zB,gBAAgBtwB,EAAMrB,IAErDwxB,EAAMzlB,SAAWA,GACnBylB,EAAM9nB,KAAK1J,QAGbwxB,OAD4BhuB,IAAnBxF,KAAKkzB,gBAA+C1tB,IAApBxF,KAAKizB,WACtCjzB,KAAK2zB,gBAAgBH,EAAOxzB,KAAKkzB,WAAalzB,KAAKizB,WAAajzB,KAAKkzB,UACpElxB,EACDhC,KAAK2zB,gBAAgBH,EAAOxxB,GAAS,KAAOA,GAE3CwxB,EAGXxzB,KAAKw0B,UAAS,EAAMhB,GACpBxzB,KAAKuzB,cAAgBC,EACrBxzB,KAAKsU,SAAWkf,GAGlB,UACExzB,KAAKoR,WAAY,GAInB,UAAU2B,S,qBC/JdhU,EAAOC,QAAU,IAA0B","file":"js/chunk-612c9220.8b94bedb.js","sourcesContent":["'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n","module.exports = __webpack_public_path__ + \"img/googleStreetMap.c55bfd8b.png\";","'use strict';\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (O, P) {\n if (!delete O[P]) throw $TypeError('Cannot delete property ' + tryToString(P) + ' of ' + tryToString(O));\n};\n","module.exports = \"data:image/png;base64,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\"","import \"../../../src/components/VDataTable/VSimpleTable.sass\";\nimport { convertToUnit } from '../../util/helpers';\nimport Themeable from '../../mixins/themeable';\nimport mixins from '../../util/mixins';\nexport default mixins(Themeable).extend({\n name: 'v-simple-table',\n props: {\n dense: Boolean,\n fixedHeader: Boolean,\n height: [Number, String]\n },\n computed: {\n classes() {\n return {\n 'v-data-table--dense': this.dense,\n 'v-data-table--fixed-height': !!this.height && !this.fixedHeader,\n 'v-data-table--fixed-header': this.fixedHeader,\n ...this.themeClasses\n };\n }\n\n },\n methods: {\n genWrapper() {\n return this.$slots.wrapper || this.$createElement('div', {\n staticClass: 'v-data-table__wrapper',\n style: {\n height: convertToUnit(this.height)\n }\n }, [this.$createElement('table', this.$slots.default)]);\n }\n\n },\n\n render(h) {\n return h('div', {\n staticClass: 'v-data-table',\n class: this.classes\n }, [this.$slots.top, this.genWrapper(), this.$slots.bottom]);\n }\n\n});\n//# sourceMappingURL=VSimpleTable.js.map","module.exports = __webpack_public_path__ + \"img/esriSateliteMap.7386109b.png\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"mapMiQIMS\",staticClass:\"map\",attrs:{\"id\":\"map\"}},[_c('v-layout',{staticClass:\"top-left\",attrs:{\"column\":\"\"}},[_c('v-menu',{attrs:{\"close-on-content-click\":false,\"max-width\":\"280\",\"transition\":\"slide-x-transition\",\"offset-x\":\"\",\"nudge-right\":\"12\",\"right\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-tooltip',_vm._g(_vm._b({attrs:{\"right\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"mt-2 primary--text\",attrs:{\"fab\":\"\",\"small\":\"\",\"color\":\"white\",\"plain\":\"\"},on:{\"click\":function($event){return _vm.map_search()}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-magnify\")])],1)]}}],null,true)},'v-tooltip',attrs,false),on),[_c('span',[_vm._v(\"Search\")])])]}}]),model:{value:(_vm.modelContentSearch),callback:function ($$v) {_vm.modelContentSearch=$$v},expression:\"modelContentSearch\"}},[_c('v-card',{staticClass:\"pa-3 px-5\"},[_c('v-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.stationCurrentMode.a == true && _vm.stationCurrentMode.m == true),expression:\"stationCurrentMode.a == true && stationCurrentMode.m == true\"}]},[_c('v-col',[_c('v-radio-group',{staticClass:\"mt-0\",attrs:{\"hide-details\":\"\",\"dense\":\"\",\"row\":\"\"},on:{\"change\":function($event){return _vm.selectRadioSearchLayer(_vm.modelRadioSearchLayer)}},model:{value:(_vm.modelRadioSearchLayer),callback:function ($$v) {_vm.modelRadioSearchLayer=$$v},expression:\"modelRadioSearchLayer\"}},[_c('v-radio',{attrs:{\"label\":\"Continuous\",\"value\":\"Conti\"}}),_c('v-radio',{attrs:{\"label\":\"Manual\",\"value\":\"Manual\"}})],1)],1)],1),_c('v-row',[_c('v-col',[_c('v-select',{attrs:{\"items\":_vm.listSearchStates,\"label\":\"State\",\"prepend-inner-icon\":\"mdi-earth-box\",\"hide-details\":\"\",\"dense\":\"\",\"solo\":\"\"},on:{\"change\":function($event){return _vm.selectSearchStates(_vm.modelSearchStateSelected)}},model:{value:(_vm.modelSearchStateSelected),callback:function ($$v) {_vm.modelSearchStateSelected=$$v},expression:\"modelSearchStateSelected\"}})],1)],1),_c('v-row',[_c('v-col',[_c('v-select',{attrs:{\"items\":_vm.listSearchStation,\"label\":\"Station\",\"prepend-inner-icon\":\"mdi-store-marker\",\"disabled\":_vm.modelSearchStateSelected == '',\"hide-details\":\"\",\"dense\":\"\",\"solo\":\"\"},on:{\"change\":function($event){return _vm.selectSearchStation(_vm.modelSearchStationSelected)}},model:{value:(_vm.modelSearchStationSelected),callback:function ($$v) {_vm.modelSearchStationSelected=$$v},expression:\"modelSearchStationSelected\"}})],1)],1)],1)],1),_c('v-tooltip',{attrs:{\"right\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"mt-3 primary--text\",attrs:{\"fab\":\"\",\"small\":\"\",\"color\":\"white\",\"plain\":\"\"},on:{\"click\":function($event){return _vm.map_home()}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-home\")])],1)]}}])},[_c('span',[_vm._v(\"Home\")])]),_c('v-menu',{staticClass:\"mp-2\",attrs:{\"close-on-content-click\":false,\"nudge-width\":200,\"transition\":\"slide-x-transition\",\"offset-x\":\"\",\"nudge-right\":\"12\",\"right\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-tooltip',_vm._g(_vm._b({attrs:{\"right\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"mt-3 primary--text\",attrs:{\"fab\":\"\",\"small\":\"\",\"color\":\"white\",\"plain\":\"\"},on:{\"click\":function($event){_vm.modelContentBasemap = true}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-map\")])],1)]}}],null,true)},'v-tooltip',attrs,false),on),[_c('span',[_vm._v(\"Basemap\")])])]}}]),model:{value:(_vm.modelContentBasemap),callback:function ($$v) {_vm.modelContentBasemap=$$v},expression:\"modelContentBasemap\"}},[_c('v-card',[_c('v-list',{staticClass:\"pa-0\"},_vm._l((_vm.listBasemap),function(item,i){return _c('v-list-item',{key:i,staticClass:\"v-list-item-basemap\",on:{\"click\":function($event){return _vm.map_basemap(item)}}},[_c('v-list-item-avatar',{style:(item.name == _vm.basemapSelected ? 'box-shadow:0px 0px 3px 4px;' : ''),attrs:{\"size\":\"50\"}},[_c('img',{attrs:{\"src\":item.src}})]),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(item.name))])],1)],1)}),1)],1)],1),_c('v-menu',{staticClass:\"mp-2\",attrs:{\"close-on-content-click\":false,\"nudge-width\":200,\"transition\":\"slide-x-transition\",\"offset-x\":\"\",\"nudge-right\":\"12\",\"right\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-tooltip',_vm._g(_vm._b({attrs:{\"right\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"mt-3 primary--text\",attrs:{\"fab\":\"\",\"small\":\"\",\"color\":\"white\",\"plain\":\"\"},on:{\"click\":function($event){_vm.modelContentInformation = true}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-information-variant\")])],1)]}}],null,true)},'v-tooltip',attrs,false),on),[_c('span',[_vm._v(\"Information\")])])]}}]),model:{value:(_vm.modelContentInformation),callback:function ($$v) {_vm.modelContentInformation=$$v},expression:\"modelContentInformation\"}},[_c('v-card',[_c('v-list',{staticClass:\"pa-0\"},_vm._l((_vm.listLegend),function(item,i){return _c('v-list-item',{key:i,staticClass:\"v-list-item-information\",attrs:{\"dense\":\"\"}},[_c('v-list-item-avatar',{attrs:{\"size\":\"50\"}},[_c('img',{attrs:{\"src\":item.img}})]),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(item.text))])],1)],1)}),1)],1)],1),_c('v-tooltip',{attrs:{\"right\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({class:_vm.poiSelected == true ? 'mt-3 white--text' : 'mt-3 primary--text',attrs:{\"fab\":\"\",\"small\":\"\",\"color\":_vm.poiSelected == true ? 'primary' : 'white',\"plain\":\"\"},on:{\"click\":function($event){return _vm.map_poi()}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-map-marker\")])],1)]}}])},[_c('span',[_vm._v(\"Point Of Interest\")])]),_c('v-tooltip',{attrs:{\"right\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({class:_vm.stationCurrentMode.a == true ? 'mt-3 white--text' : 'mt-3 primary--text',attrs:{\"fab\":\"\",\"small\":\"\",\"color\":_vm.stationCurrentMode.a == true ? 'primary' : 'white',\"plain\":\"\"},on:{\"click\":function($event){return _vm.map_station('Conti')}}},'v-btn',attrs,false),on),[_c('h2',[_c('strong',[_vm._v(\"C\")])])])]}}])},[_c('span',[_vm._v(\"Continuous Station\")])]),_c('v-tooltip',{attrs:{\"right\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({class:_vm.stationCurrentMode.m == true ? 'mt-3 white--text' : 'mt-3 primary--text',attrs:{\"fab\":\"\",\"small\":\"\",\"color\":_vm.stationCurrentMode.m == true ? 'primary' : 'white',\"plain\":\"\"},on:{\"click\":function($event){return _vm.map_station('Manual')}}},'v-btn',attrs,false),on),[_c('h2',[_c('strong',[_vm._v(\"M\")])])])]}}])},[_c('span',[_vm._v(\"Manual Station\")])]),_c('v-tooltip',{attrs:{\"right\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({class:_vm.stationCurrentMode.is == true ? 'mt-3 white--text' : 'mt-3 primary--text',attrs:{\"fab\":\"\",\"small\":\"\",\"color\":_vm.stationCurrentMode.is == true ? 'primary' : 'white',\"plain\":\"\"},on:{\"click\":function($event){return _vm.map_station('Invest Study')}}},'v-btn',attrs,false),on),[_c('h2',[_c('strong',[_vm._v(\"IS\")])])])]}}])},[_c('span',[_vm._v(\"Investigative Study\")])]),_c('v-tooltip',{attrs:{\"right\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({class:_vm.stationCurrentMode.bs == true ? 'mt-3 white--text' : 'mt-3 primary--text',attrs:{\"fab\":\"\",\"small\":\"\",\"color\":_vm.stationCurrentMode.bs == true ? 'primary' : 'white',\"plain\":\"\"},on:{\"click\":function($event){return _vm.map_station('Baseline Study')}}},'v-btn',attrs,false),on),[_c('h2',[_c('strong',[_vm._v(\"BS\")])])])]}}])},[_c('span',[_vm._v(\"Baseline Study\")])])],1),_c('v-layout',{staticClass:\"top-right\",attrs:{\"column\":\"\"}},[_c('v-menu',{staticClass:\"mt-2\",attrs:{\"close-on-click\":false,\"close-on-content-click\":false,\"max-width\":\"610\",\"min-width\":\"610\",\"max-height\":\"650\",\"min-height\":\"650\",\"transition\":\"slide-x-transition\",\"attach\":\".top-right\",\"left\":\"\",\"location\":\"bottom end\"},model:{value:(_vm.modelContentStationIdentify),callback:function ($$v) {_vm.modelContentStationIdentify=$$v},expression:\"modelContentStationIdentify\"}},[_c('v-card',{staticClass:\"pa-1\"},[_c('v-card-title',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.detailsIdentifyVectorSelected.group == 'POI'),expression:\"detailsIdentifyVectorSelected.group == 'POI'\"}],staticClass:\"pa-1 px-3 card-header\"},[_c('v-spacer'),_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({attrs:{\"dark\":\"\",\"icon\":\"\",\"small\":\"\"},on:{\"click\":function($event){_vm.modelContentStationIdentify = false}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-close-thick\")])],1)]}}])},[_vm._v(\" Close \")]),_c('v-card-text',[_c('v-list-item',{staticClass:\"pl-0 pr-0\",attrs:{\"dark\":\"\",\"three-line\":\"\"}},[_c('v-list-item-content',{staticClass:\"text-subtitle-1 \"},[_c('v-row',[_c('v-col',[_c('v-icon',{staticClass:\"mr-2\",attrs:{\"x-large\":\"\"}},[_vm._v(\" mdi-map-marker-multiple \")]),_vm._v(\" Point of Interest \")],1)],1)],1),_c('v-list-item-content',[_c('v-row',[_c('v-col',[_vm._v(\" Point of Interest Name : \"+_vm._s(_vm.detailsIdentifyVectorSelected.label)+\" \")])],1)],1)],1)],1)],1),_c('v-card-title',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.detailsIdentifyVectorSelected.group != 'POI'),expression:\"detailsIdentifyVectorSelected.group != 'POI'\"}],staticClass:\"pa-1 card-header\"},[_c('v-spacer'),_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({attrs:{\"dark\":\"\",\"icon\":\"\",\"small\":\"\"},on:{\"click\":function($event){return _vm.closeModelContentStationIdentify()}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-close-thick\")])],1)]}}])},[_vm._v(\" Close \")]),_c('v-card-text',[_c('v-list-item',{staticClass:\"pl-0 pr-0\",attrs:{\"three-line\":\"\",\"dark\":\"\"}},[_c('v-list-item-content',{staticClass:\"text-subtitle-1 \"},[_c('v-row',[(_vm.stationCurrentMode.is == false)?_c('v-col',{staticClass:\"d-flex\"},[_c('v-icon',{staticClass:\"mr-2\",attrs:{\"dense\":\"\"}},[_vm._v(\" mdi-map-marker-multiple \")]),_vm._v(\" STATION: \"+_vm._s(_vm.detailsIdentifyVectorSelected.stationID)+\" \")],1):(_vm.stationCurrentMode.is == true)?_c('v-col',{staticClass:\"d-flex\"},[_c('v-icon',{staticClass:\"mr-2\",attrs:{\"dense\":\"\"}},[_vm._v(\" mdi-map-marker-multiple \")]),_vm._v(\" CASE ID: \"+_vm._s(_vm.detailsIdentifyVectorSelected.stationID)+\" \")],1):_vm._e()],1)],1),(_vm.stationCurrentMode.is == false)?_c('v-list-item-content',[_c('v-row',[_c('v-col',[_vm._v(\" Location : \"+_vm._s(_vm.detailsIdentifyVectorSelected.location)+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"pt-0\"},[_vm._v(\" Last Updated: \"),_vm._v(\" \"+_vm._s(new Date(_vm.detailsIdentifyVectorSelected.datetime).toLocaleDateString(\"en-GB\") + \", \" + new Date(_vm.detailsIdentifyVectorSelected.datetime).toLocaleTimeString())+\" \")])],1)],1):_vm._e(),(_vm.stationCurrentMode.is == true)?_c('v-list-item-content',[_c('v-row',[_c('v-col',[_vm._v(\" Case Name : \"+_vm._s(_vm.detailsIdentifyVectorSelected.others.CaseName)+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"pt-1\"},[_vm._v(\" Case Title : \"+_vm._s(_vm.detailsIdentifyVectorSelected.others.CaseTitle)+\" \")])],1)],1):_vm._e()],1)],1)],1),_c('v-card-text',{staticClass:\"px-2 pb-0\"},[_c('v-row',[_c('v-col',[_c('v-expansion-panels',{model:{value:(_vm.modelContentExpansionIdentify),callback:function ($$v) {_vm.modelContentExpansionIdentify=$$v},expression:\"modelContentExpansionIdentify\"}},[_c('v-expansion-panel',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.detailsIdentifyVectorSelected.group == 'Conti' || _vm.detailsIdentifyVectorSelected.group == 'Manual' || _vm.detailsIdentifyVectorSelected.group == 'BaselineStudy'),expression:\"detailsIdentifyVectorSelected.group == 'Conti' || detailsIdentifyVectorSelected.group == 'Manual' || detailsIdentifyVectorSelected.group == 'BaselineStudy'\"}],attrs:{\"expand\":\"\"}},[_c('v-expansion-panel-header',[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Parameter\")])]),_c('v-expansion-panel-content',[_c('v-card',[_c('v-simple-table',{attrs:{\"fixed-header\":\"\",\"height\":_vm.detailsIdentifyVectorSelected.group == 'Conti' ? '250' : '230',\"dense\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',_vm._l((_vm.theadContentParamsIndentify),function(item,i){return _c('th',{key:i,staticClass:\"text-left\",staticStyle:{\"background\":\"#1476bf\",\"color\":\"white\",\"white-space\":\"nowrap\"}},[_vm._v(\" \"+_vm._s(item)+\" \")])}),0)]),_c('tbody',_vm._l((_vm.tbodyContentParamsIndentify),function(item,x){return _c('tr',{key:x,class:item.type != '' ? item.type == 'INSITU' ? 'in-situ' : item.type == 'LAB' ? 'laboratory' : '' : ''},[_c('td',{staticClass:\"text-center\"},[(item.status == 'I')?_c('v-icon',{staticClass:\"light-blue--text\",attrs:{\"dense\":\"\"}},[_vm._v(\"mdi-circle\")]):(item.status == 'II')?_c('v-icon',{staticClass:\"success--text\",attrs:{\"dense\":\"\"}},[_vm._v(\"mdi-circle\")]):(item.status == 'III')?_c('v-icon',{staticClass:\"yellow--text\",attrs:{\"dense\":\"\"}},[_vm._v(\"mdi-circle\")]):(item.status == 'IV')?_c('v-icon',{staticClass:\"orange--text\",attrs:{\"dense\":\"\"}},[_vm._v(\"mdi-circle\")]):(item.status == 'V')?_c('v-icon',{staticClass:\"red--text\",attrs:{\"dense\":\"\"}},[_vm._v(\"mdi-circle\")]):(item.status == 'NA')?_c('v-icon',{staticClass:\"grey--text\",attrs:{\"dense\":\"\"}},[_vm._v(\"mdi-circle\")]):_vm._e()],1),_c('td',[_vm._v(_vm._s(item.fullname))]),_c('td',[(item.flag != undefined)?_c('span',[(item.flag == null || item.flag == '')?_c('span',[((item.value_unit != null && item.value_unit != '') && item.unit != null)?_c('span',[_vm._v(\" \"+_vm._s(item.value_unit)+\" \"+_vm._s(item.unit)+\" \")]):(item.value_unit == null)?_c('span',[_vm._v(\" \"+_vm._s(item.value_unit)+\" \")]):_vm._e()]):_c('span',{staticClass:\"red--text font-weight-bold\"},[_vm._v(\" \"+_vm._s(item.flag)+\" \")])]):_c('span',[((item.value_unit != null && item.value_unit != '') && item.unit != null)?_c('span',[_vm._v(\" \"+_vm._s(item.value_unit)+\" \"+_vm._s(item.unit)+\" \")]):_c('span',[_vm._v(\" \"+_vm._s(item.value_unit)+\" \")])])]),_c('td',{staticClass:\"text-center\"},[_vm._v(_vm._s(item.sub_index))]),_c('td',{staticClass:\"text-center\"},[(item.effluent_guideline != null)?_c('span',[_vm._v(\" \"+_vm._s(item.effluent_guideline)+\" \"+_vm._s(item.unit)+\" \")]):(item.effluent_guideline == null)?_c('span',[_vm._v(\" \"+_vm._s(item.effluent_guideline)+\" \")]):_vm._e()])])}),0)]},proxy:true}])}),(_vm.detailsIdentifyVectorSelected.group == 'Manual' || _vm.detailsIdentifyVectorSelected.group == 'BaselineStudy')?_c('p',{staticClass:\"pa-2\",staticStyle:{\"font-size\":\"0.90em\",\"text-align\":\"left\"}},[_c('b',[_vm._v(\" Notes: \"),_c('v-icon',{staticClass:\"ml-2\",attrs:{\"color\":\"insitu\",\"dense\":\"\"}},[_vm._v(\"mdi-circle\")]),_vm._v(\" \"),_c('span',{staticClass:\"mr-5\"},[_vm._v(\"In-situ\")]),_c('v-icon',{attrs:{\"color\":\"lab\",\"dense\":\"\"}},[_vm._v(\"mdi-circle\")]),_vm._v(\" \"),_c('span',[_vm._v(\"Laboratory\")])],1)]):_vm._e()],1)],1)],1),_c('v-expansion-panel',{attrs:{\"expand\":\"\",\"readonly\":_vm.detailsIdentifyVectorSelected.group != 'Conti' && _vm.detailsIdentifyVectorSelected.group != 'Manual' && _vm.detailsIdentifyVectorSelected.group != 'BaselineStudy'}},[_c('v-expansion-panel-header',{attrs:{\"hide-actions\":_vm.detailsIdentifyVectorSelected.group != 'Conti' && _vm.detailsIdentifyVectorSelected.group != 'Manual' && _vm.detailsIdentifyVectorSelected.group != 'BaselineStudy'}},[(_vm.detailsIdentifyVectorSelected.group == 'POI')?_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\" Point of Interest Details \")]):_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\" Station Details \")])]),_c('v-expansion-panel-content',{staticClass:\"px-3\",staticStyle:{\"height\":\"270px\",\"overflow\":\"auto\"}},[_c('v-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.detailsIdentifyVectorSelected.group == 'POI'),expression:\"detailsIdentifyVectorSelected.group == 'POI'\"}]},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_vm._v(\" Name \")]),_c('v-col',[_vm._v(\" : \"+_vm._s(_vm.detailsIdentifyVectorSelected.label)+\" \")])],1),_c('v-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.detailsIdentifyVectorSelected.group == 'Conti' || _vm.detailsIdentifyVectorSelected.group == 'Manual' || _vm.detailsIdentifyVectorSelected.group == 'BaselineStudy'),expression:\"detailsIdentifyVectorSelected.group == 'Conti' || detailsIdentifyVectorSelected.group == 'Manual' || detailsIdentifyVectorSelected.group == 'BaselineStudy'\"}]},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_vm._v(\" Station ID \")]),_c('v-col',[_vm._v(\" : \"+_vm._s(_vm.detailsIdentifyVectorSelected.stationID)+\" \")])],1),_c('v-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.detailsIdentifyVectorSelected.group == 'InvestStudy'),expression:\"detailsIdentifyVectorSelected.group == 'InvestStudy'\"}]},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_vm._v(\" Case ID \")]),_c('v-col',[_vm._v(\" : \"+_vm._s(_vm.detailsIdentifyVectorSelected.caseID)+\" \")])],1),_c('v-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.detailsIdentifyVectorSelected.group == 'Conti' || _vm.detailsIdentifyVectorSelected.group == 'Manual' || _vm.detailsIdentifyVectorSelected.group == 'BaselineStudy'),expression:\"detailsIdentifyVectorSelected.group == 'Conti' || detailsIdentifyVectorSelected.group == 'Manual' || detailsIdentifyVectorSelected.group == 'BaselineStudy'\"}]},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_vm._v(\" Station Location \")]),_c('v-col',[_vm._v(\" : \"+_vm._s(_vm.detailsIdentifyVectorSelected.location)+\" \")])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"4\"}},[_vm._v(\" Longitude \")]),_c('v-col',[_vm._v(\" : \"+_vm._s(_vm.detailsIdentifyVectorSelected.long)+\" \")])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"4\"}},[_vm._v(\" Latitude \")]),_c('v-col',[_vm._v(\" : \"+_vm._s(_vm.detailsIdentifyVectorSelected.lat)+\" \")])],1),_c('v-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.detailsIdentifyVectorSelected.group == 'POI'),expression:\"detailsIdentifyVectorSelected.group == 'POI'\"}]},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_vm._v(\" Description \")]),_c('v-col',[_vm._v(\" : \"+_vm._s(_vm.detailsIdentifyVectorSelected.others)+\" \")])],1),_c('v-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.detailsIdentifyVectorSelected.group == 'InvestStudy'),expression:\"detailsIdentifyVectorSelected.group == 'InvestStudy'\"}]},[_c('v-col',{staticClass:\"pb-0 text-decoration-underline\",attrs:{\"cols\":\"4\"}},[_vm._v(\" Sampling Point \")]),_c('v-col',{staticClass:\"pb-0\"},[_vm._v(\" : \")])],1),_c('v-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.detailsIdentifyVectorSelected.group == 'InvestStudy'),expression:\"detailsIdentifyVectorSelected.group == 'InvestStudy'\"}]},[_c('v-col',{staticClass:\"pt-0\"},[_c('v-switch',{attrs:{\"hide-details\":\"\",\"inset\":\"\",\"dense\":\"\",\"loading\":_vm.loadingSwitchSamplePointInvestStudy,\"label\":\"Switch on to display sampling point on map.\"},on:{\"change\":function($event){return _vm.swichingSamplePointInvestStudy(_vm.detailsIdentifyVectorSelected.caseID, _vm.modelSwitchSamplePointInvestStudy)}},model:{value:(_vm.modelSwitchSamplePointInvestStudy),callback:function ($$v) {_vm.modelSwitchSamplePointInvestStudy=$$v},expression:\"modelSwitchSamplePointInvestStudy\"}})],1)],1),_c('v-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.modelSwitchSamplePointInvestStudy == true),expression:\"modelSwitchSamplePointInvestStudy == true\"}]},[_c('v-col',{staticClass:\"px-0\"},[_c('v-card',{staticClass:\"pa-3\",attrs:{\"outlined\":\"\",\"elevation\":\"3\"}},[_c('v-row',[_c('v-col',{staticClass:\"pb-5 text-decoration-underline font-weight-bold\"},[_vm._v(\" Sample Point Information \")])],1),_c('v-row',[_c('v-col',{staticClass:\"pb-0\",attrs:{\"cols\":\"4\"}},[_vm._v(\" Point ID \")]),_c('v-col',[_vm._v(\" : \"+_vm._s(_vm.detailsSamplePointSelected.ID)+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"pb-0\",attrs:{\"cols\":\"4\"}},[_vm._v(\" State \")]),_c('v-col',[_vm._v(\" : \"+_vm._s(_vm.detailsSamplePointSelected.State)+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"pb-0\",attrs:{\"cols\":\"4\"}},[_vm._v(\" Longitude \")]),_c('v-col',[_vm._v(\" : \"+_vm._s(_vm.detailsSamplePointSelected.Long)+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"pb-0\",attrs:{\"cols\":\"4\"}},[_vm._v(\" Latitude \")]),_c('v-col',[_vm._v(\" : \"+_vm._s(_vm.detailsSamplePointSelected.Lat)+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"pb-0\",attrs:{\"cols\":\"4\"}},[_vm._v(\" Sampling Picture \")]),_c('v-col',[_vm._v(\" : \")])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-img',{attrs:{\"max-height\":\"150\",\"max-width\":\"150\",\"src\":_vm.detailsSamplePointSelected.Image}})],1)],1)],1)],1)],1),_c('v-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.detailsIdentifyVectorSelected.group == 'POI'),expression:\"detailsIdentifyVectorSelected.group == 'POI'\"}]},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_vm._v(\" Point of Interest Picture \")]),_c('v-col',[(_vm.detailsIdentifyVectorSelected.img != undefined && _vm.detailsIdentifyVectorSelected.img != '')?_c('span',[_c('v-img',{attrs:{\"height\":\"200\",\"width\":\"200\",\"max-height\":\"160\",\"max-width\":\"250\",\"src\":_vm.detailsIdentifyVectorSelected.img}})],1):_c('span',[_vm._v(\" : None \")])])],1),_c('v-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.detailsIdentifyVectorSelected.group != 'POI' && _vm.detailsIdentifyVectorSelected.group != 'InvestStudy'),expression:\"detailsIdentifyVectorSelected.group != 'POI' && detailsIdentifyVectorSelected.group != 'InvestStudy'\"}]},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_vm._v(\" Station Picture \")]),_c('v-col',[(_vm.detailsIdentifyVectorSelected.stationImage.station == '' && _vm.detailsIdentifyVectorSelected.stationImage.deployment == '' && _vm.detailsIdentifyVectorSelected.stationImage.upstream == '' && _vm.detailsIdentifyVectorSelected.stationImage.downstream == '' || _vm.detailsIdentifyVectorSelected.stationImage.station == null && _vm.detailsIdentifyVectorSelected.stationImage.deployment == null && _vm.detailsIdentifyVectorSelected.stationImage.upstream == null && _vm.detailsIdentifyVectorSelected.stationImage.downstream == null)?_c('span',[_vm._v(\" : None \")]):_c('span',[_vm._v(\" : \")])])],1),_c('v-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.detailsIdentifyVectorSelected.group != 'POI' && _vm.detailsIdentifyVectorSelected.group != 'InvestStudy'),expression:\"detailsIdentifyVectorSelected.group != 'POI' && detailsIdentifyVectorSelected.group != 'InvestStudy'\"}],staticClass:\"justify-center align-center\"},[(_vm.detailsIdentifyVectorSelected.stationImage.station != '' && _vm.detailsIdentifyVectorSelected.stationImage.deployment != null)?_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-img',{staticClass:\"d-flex justify-center\",attrs:{\"height\":\"160\",\"width\":\"160\",\"max-height\":\"160\",\"max-width\":\"250\"},on:{\"click\":function($event){return _vm.openNewTab(_vm.detailsIdentifyVectorSelected.stationImage.station)}}}),_c('div',{staticClass:\"text-center\"},[_vm._v(\"Station\")])],1):_vm._e(),(_vm.detailsIdentifyVectorSelected.stationImage.deployment != '' && _vm.detailsIdentifyVectorSelected.stationImage.deployment != null)?_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-img',{attrs:{\"height\":\"160\",\"width\":\"160\",\"max-height\":\"160\",\"max-width\":\"250\",\"src\":_vm.detailsIdentifyVectorSelected.stationImage.deployment},on:{\"click\":function($event){return _vm.openNewTab(_vm.detailsIdentifyVectorSelected.stationImage.deployment)}}}),_c('div',{staticClass:\"text-center\"},[_vm._v(\"Deployment\")])],1):_vm._e(),(_vm.detailsIdentifyVectorSelected.stationImage.upstream != '' && _vm.detailsIdentifyVectorSelected.stationImage.deployment != null)?_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-img',{attrs:{\"height\":\"160\",\"width\":\"160\",\"max-height\":\"160\",\"max-width\":\"250\",\"src\":_vm.detailsIdentifyVectorSelected.stationImage.upstream},on:{\"click\":function($event){return _vm.openNewTab(_vm.detailsIdentifyVectorSelected.stationImage.upstream)}}}),_c('div',{staticClass:\"text-center\"},[_vm._v(\"Upstream\")])],1):_vm._e(),(_vm.detailsIdentifyVectorSelected.stationImage.downstream != '' && _vm.detailsIdentifyVectorSelected.stationImage.deployment != null)?_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-img',{attrs:{\"height\":\"160\",\"width\":\"160\",\"max-height\":\"160\",\"max-width\":\"250\",\"src\":_vm.detailsIdentifyVectorSelected.stationImage.downstream},on:{\"click\":function($event){return _vm.openNewTab(_vm.detailsIdentifyVectorSelected.stationImage.downstream)}}}),_c('div',{staticClass:\"text-center\"},[_vm._v(\"Downstream\")])],1):_vm._e()],1)],1)],1)],1)],1)],1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Mapviewer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Mapviewer.vue?vue&type=script&lang=js&\"","// Styles\nimport \"../../../src/components/VRadioGroup/VRadio.sass\";\nimport VLabel from '../VLabel';\nimport VIcon from '../VIcon';\nimport VInput from '../VInput'; // Mixins\n\nimport BindsAttrs from '../../mixins/binds-attrs';\nimport Colorable from '../../mixins/colorable';\nimport { factory as GroupableFactory } from '../../mixins/groupable';\nimport Rippleable from '../../mixins/rippleable';\nimport Themeable from '../../mixins/themeable';\nimport Selectable, { prevent } from '../../mixins/selectable'; // Utilities\n\nimport { getSlot } from '../../util/helpers';\nimport mixins from '../../util/mixins';\nimport { mergeListeners } from '../../util/mergeData';\nconst baseMixins = mixins(BindsAttrs, Colorable, Rippleable, GroupableFactory('radioGroup'), Themeable);\n/* @vue/component */\n\nexport default baseMixins.extend().extend({\n name: 'v-radio',\n inheritAttrs: false,\n props: {\n disabled: Boolean,\n id: String,\n label: String,\n name: String,\n offIcon: {\n type: String,\n default: '$radioOff'\n },\n onIcon: {\n type: String,\n default: '$radioOn'\n },\n readonly: Boolean,\n value: {\n default: null\n }\n },\n data: () => ({\n isFocused: false\n }),\n computed: {\n classes() {\n return {\n 'v-radio--is-disabled': this.isDisabled,\n 'v-radio--is-focused': this.isFocused,\n ...this.themeClasses,\n ...this.groupClasses\n };\n },\n\n computedColor() {\n return Selectable.options.computed.computedColor.call(this);\n },\n\n computedIcon() {\n return this.isActive ? this.onIcon : this.offIcon;\n },\n\n computedId() {\n return VInput.options.computed.computedId.call(this);\n },\n\n hasLabel: VInput.options.computed.hasLabel,\n\n hasState() {\n return (this.radioGroup || {}).hasState;\n },\n\n isDisabled() {\n return this.disabled || !!this.radioGroup && this.radioGroup.isDisabled;\n },\n\n isReadonly() {\n return this.readonly || !!this.radioGroup && this.radioGroup.isReadonly;\n },\n\n computedName() {\n if (this.name || !this.radioGroup) {\n return this.name;\n }\n\n return this.radioGroup.name || `radio-${this.radioGroup._uid}`;\n },\n\n rippleState() {\n return Selectable.options.computed.rippleState.call(this);\n },\n\n validationState() {\n return (this.radioGroup || {}).validationState || this.computedColor;\n }\n\n },\n methods: {\n genInput(args) {\n // We can't actually use the mixin directly because\n // it's made for standalone components, but its\n // genInput method is exactly what we need\n return Selectable.options.methods.genInput.call(this, 'radio', args);\n },\n\n genLabel() {\n if (!this.hasLabel) return null;\n return this.$createElement(VLabel, {\n on: {\n // Label shouldn't cause the input to focus\n click: prevent\n },\n attrs: {\n for: this.computedId\n },\n props: {\n color: this.validationState,\n focused: this.hasState\n }\n }, getSlot(this, 'label') || this.label);\n },\n\n genRadio() {\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input'\n }, [this.$createElement(VIcon, this.setTextColor(this.validationState, {\n props: {\n dense: this.radioGroup && this.radioGroup.dense\n }\n }), this.computedIcon), this.genInput({\n name: this.computedName,\n value: this.value,\n ...this.attrs$\n }), this.genRipple(this.setTextColor(this.rippleState))]);\n },\n\n onFocus(e) {\n this.isFocused = true;\n this.$emit('focus', e);\n },\n\n onBlur(e) {\n this.isFocused = false;\n this.$emit('blur', e);\n },\n\n onChange() {\n if (this.isDisabled || this.isReadonly || this.isActive) return;\n this.toggle();\n },\n\n onKeydown: () => {}\n },\n\n render(h) {\n const data = {\n staticClass: 'v-radio',\n class: this.classes,\n on: mergeListeners({\n click: this.onChange\n }, this.listeners$)\n };\n return h('div', data, [this.genRadio(), this.genLabel()]);\n }\n\n});\n//# sourceMappingURL=VRadio.js.map","// Styles\nimport \"../../../src/styles/components/_selection-controls.sass\";\nimport \"../../../src/components/VRadioGroup/VRadioGroup.sass\"; // Extensions\n\nimport VInput from '../VInput';\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'; // Mixins\n\nimport Comparable from '../../mixins/comparable'; // Types\n\nimport mixins from '../../util/mixins';\nconst baseMixins = mixins(Comparable, BaseItemGroup, VInput);\n/* @vue/component */\n\nexport default baseMixins.extend({\n name: 'v-radio-group',\n\n provide() {\n return {\n radioGroup: this\n };\n },\n\n props: {\n column: {\n type: Boolean,\n default: true\n },\n height: {\n type: [Number, String],\n default: 'auto'\n },\n name: String,\n row: Boolean,\n // If no value set on VRadio\n // will match valueComparator\n // force default to null\n value: null\n },\n computed: {\n classes() {\n return { ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls v-input--radio-group': true,\n 'v-input--radio-group--column': this.column && !this.row,\n 'v-input--radio-group--row': this.row\n };\n }\n\n },\n methods: {\n genDefaultSlot() {\n return this.$createElement('div', {\n staticClass: 'v-input--radio-group__input',\n attrs: {\n id: this.id,\n role: 'radiogroup',\n 'aria-labelledby': this.computedId\n }\n }, VInput.options.methods.genDefaultSlot.call(this));\n },\n\n genInputSlot() {\n const render = VInput.options.methods.genInputSlot.call(this);\n delete render.data.on.click;\n return render;\n },\n\n genLabel() {\n const label = VInput.options.methods.genLabel.call(this);\n if (!label) return null;\n label.data.attrs.id = this.computedId; // WAI considers this an orphaned label\n\n delete label.data.attrs.for;\n label.tag = 'legend';\n return label;\n },\n\n onClick: BaseItemGroup.options.methods.onClick\n }\n});\n//# sourceMappingURL=VRadioGroup.js.map","// Styles\nimport \"../../../src/styles/components/_selection-controls.sass\";\nimport \"../../../src/components/VSwitch/VSwitch.sass\"; // Mixins\n\nimport Selectable from '../../mixins/selectable';\nimport VInput from '../VInput'; // Directives\n\nimport Touch from '../../directives/touch'; // Components\n\nimport { VFabTransition } from '../transitions';\nimport VProgressCircular from '../VProgressCircular/VProgressCircular'; // Helpers\n\nimport { keyCodes } from '../../util/helpers';\n/* @vue/component */\n\nexport default Selectable.extend({\n name: 'v-switch',\n directives: {\n Touch\n },\n props: {\n inset: Boolean,\n loading: {\n type: [Boolean, String],\n default: false\n },\n flat: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n classes() {\n return { ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls v-input--switch': true,\n 'v-input--switch--flat': this.flat,\n 'v-input--switch--inset': this.inset\n };\n },\n\n attrs() {\n return {\n 'aria-checked': String(this.isActive),\n 'aria-disabled': String(this.isDisabled),\n role: 'switch'\n };\n },\n\n // Do not return undefined if disabled,\n // according to spec, should still show\n // a color when disabled and active\n validationState() {\n if (this.hasError && this.shouldValidate) return 'error';\n if (this.hasSuccess) return 'success';\n if (this.hasColor !== null) return this.computedColor;\n return undefined;\n },\n\n switchData() {\n return this.setTextColor(this.loading ? undefined : this.validationState, {\n class: this.themeClasses\n });\n }\n\n },\n methods: {\n genDefaultSlot() {\n return [this.genSwitch(), this.genLabel()];\n },\n\n genSwitch() {\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input'\n }, [this.genInput('checkbox', { ...this.attrs,\n ...this.attrs$\n }), this.genRipple(this.setTextColor(this.validationState, {\n directives: [{\n name: 'touch',\n value: {\n left: this.onSwipeLeft,\n right: this.onSwipeRight\n }\n }]\n })), this.$createElement('div', {\n staticClass: 'v-input--switch__track',\n ...this.switchData\n }), this.$createElement('div', {\n staticClass: 'v-input--switch__thumb',\n ...this.switchData\n }, [this.genProgress()])]);\n },\n\n genProgress() {\n return this.$createElement(VFabTransition, {}, [this.loading === false ? null : this.$slots.progress || this.$createElement(VProgressCircular, {\n props: {\n color: this.loading === true || this.loading === '' ? this.color || 'primary' : this.loading,\n size: 16,\n width: 2,\n indeterminate: true\n }\n })]);\n },\n\n onSwipeLeft() {\n if (this.isActive) this.onChange();\n },\n\n onSwipeRight() {\n if (!this.isActive) this.onChange();\n },\n\n onKeydown(e) {\n if (e.keyCode === keyCodes.left && this.isActive || e.keyCode === keyCodes.right && !this.isActive) this.onChange();\n }\n\n }\n});\n//# sourceMappingURL=VSwitch.js.map","import { render, staticRenderFns } from \"./Mapviewer.vue?vue&type=template&id=5365ab52&\"\nimport script from \"./Mapviewer.vue?vue&type=script&lang=js&\"\nexport * from \"./Mapviewer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Mapviewer.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanels } from 'vuetify/lib/components/VExpansionPanel';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemAvatar } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VRadio } from 'vuetify/lib/components/VRadioGroup';\nimport { VRadioGroup } from 'vuetify/lib/components/VRadioGroup';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCard,VCardText,VCardTitle,VCol,VExpansionPanel,VExpansionPanelContent,VExpansionPanelHeader,VExpansionPanels,VIcon,VImg,VLayout,VList,VListItem,VListItemAvatar,VListItemContent,VListItemTitle,VMenu,VRadio,VRadioGroup,VRow,VSelect,VSimpleTable,VSpacer,VSwitch,VTooltip})\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\nvar toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar internalSort = require('../internals/array-sort');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar test = [];\nvar nativeSort = uncurryThis(test.sort);\nvar push = uncurryThis(test.push);\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar STABLE_SORT = !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 70;\n if (FF && FF > 3) return;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 603;\n\n var result = '';\n var code, chr, value, index;\n\n // generate an array with more 512 elements (Chakra and old V8 fails only in this case)\n for (code = 65; code < 76; code++) {\n chr = String.fromCharCode(code);\n\n switch (code) {\n case 66: case 69: case 70: case 72: value = 3; break;\n case 68: case 71: value = 4; break;\n default: value = 2;\n }\n\n for (index = 0; index < 47; index++) {\n test.push({ k: chr + index, v: value });\n }\n }\n\n test.sort(function (a, b) { return b.v - a.v; });\n\n for (index = 0; index < test.length; index++) {\n chr = test[index].k.charAt(0);\n if (result.charAt(result.length - 1) !== chr) result += chr;\n }\n\n return result !== 'DGBEFHACIJK';\n});\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (y === undefined) return -1;\n if (x === undefined) return 1;\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n return toString(x) > toString(y) ? 1 : -1;\n };\n};\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n\n var array = toObject(this);\n\n if (STABLE_SORT) return comparefn === undefined ? nativeSort(array) : nativeSort(array, comparefn);\n\n var items = [];\n var arrayLength = lengthOfArrayLike(array);\n var itemsLength, index;\n\n for (index = 0; index < arrayLength; index++) {\n if (index in array) push(items, array[index]);\n }\n\n internalSort(items, getSortCompare(comparefn));\n\n itemsLength = lengthOfArrayLike(items);\n index = 0;\n\n while (index < itemsLength) array[index] = items[index++];\n while (index < arrayLength) deletePropertyOrThrow(array, index++);\n\n return array;\n }\n});\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","// Directives\nimport ripple from '../../directives/ripple'; // Types\n\nimport Vue from 'vue';\nexport default Vue.extend({\n name: 'rippleable',\n directives: {\n ripple\n },\n props: {\n ripple: {\n type: [Boolean, Object],\n default: true\n }\n },\n methods: {\n genRipple(data = {}) {\n if (!this.ripple) return null;\n data.staticClass = 'v-input--selection-controls__ripple';\n data.directives = data.directives || [];\n data.directives.push({\n name: 'ripple',\n value: {\n center: true\n }\n });\n return this.$createElement('div', data);\n }\n\n }\n});\n//# sourceMappingURL=index.js.map","module.exports = __webpack_public_path__ + \"img/station_icon_conti_orange.7d2dd5b8.svg\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/lib/loader.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Mapviewer.vue?vue&type=style&index=0&lang=scss&\"","/**\n * @module ol/style/Text\n */\nimport Fill from './Fill.js';\nimport TextPlacement from './TextPlacement.js';\nimport { toSize } from '../size.js';\n/**\n * The default fill color to use if no fill was set at construction time; a\n * blackish `#333`.\n *\n * @const {string}\n */\nvar DEFAULT_FILL_COLOR = '#333';\n/**\n * @typedef {Object} Options\n * @property {string} [font] Font style as CSS 'font' value, see:\n * https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/font. Default is '10px sans-serif'\n * @property {number} [maxAngle=Math.PI/4] When `placement` is set to `'line'`, allow a maximum angle between adjacent characters.\n * The expected value is in radians, and the default is 45° (`Math.PI / 4`).\n * @property {number} [offsetX=0] Horizontal text offset in pixels. A positive will shift the text right.\n * @property {number} [offsetY=0] Vertical text offset in pixels. A positive will shift the text down.\n * @property {boolean} [overflow=false] For polygon labels or when `placement` is set to `'line'`, allow text to exceed\n * the width of the polygon at the label position or the length of the path that it follows.\n * @property {import(\"./TextPlacement.js\").default|string} [placement='point'] Text placement.\n * @property {number|import(\"../size.js\").Size} [scale] Scale.\n * @property {boolean} [rotateWithView=false] Whether to rotate the text with the view.\n * @property {number} [rotation=0] Rotation in radians (positive rotation clockwise).\n * @property {string} [text] Text content.\n * @property {string} [textAlign] Text alignment. Possible values: 'left', 'right', 'center', 'end' or 'start'.\n * Default is 'center' for `placement: 'point'`. For `placement: 'line'`, the default is to let the renderer choose a\n * placement where `maxAngle` is not exceeded.\n * @property {string} [textBaseline='middle'] Text base line. Possible values: 'bottom', 'top', 'middle', 'alphabetic',\n * 'hanging', 'ideographic'.\n * @property {import(\"./Fill.js\").default} [fill] Fill style. If none is provided, we'll use a dark fill-style (#333).\n * @property {import(\"./Stroke.js\").default} [stroke] Stroke style.\n * @property {import(\"./Fill.js\").default} [backgroundFill] Fill style for the text background when `placement` is\n * `'point'`. Default is no fill.\n * @property {import(\"./Stroke.js\").default} [backgroundStroke] Stroke style for the text background when `placement`\n * is `'point'`. Default is no stroke.\n * @property {Array} [padding=[0, 0, 0, 0]] Padding in pixels around the text for decluttering and background. The order of\n * values in the array is `[top, right, bottom, left]`.\n */\n/**\n * @classdesc\n * Set text style for vector features.\n * @api\n */\nvar Text = /** @class */ (function () {\n /**\n * @param {Options} [opt_options] Options.\n */\n function Text(opt_options) {\n var options = opt_options || {};\n /**\n * @private\n * @type {string|undefined}\n */\n this.font_ = options.font;\n /**\n * @private\n * @type {number|undefined}\n */\n this.rotation_ = options.rotation;\n /**\n * @private\n * @type {boolean|undefined}\n */\n this.rotateWithView_ = options.rotateWithView;\n /**\n * @private\n * @type {number|import(\"../size.js\").Size|undefined}\n */\n this.scale_ = options.scale;\n /**\n * @private\n * @type {import(\"../size.js\").Size}\n */\n this.scaleArray_ = toSize(options.scale !== undefined ? options.scale : 1);\n /**\n * @private\n * @type {string|undefined}\n */\n this.text_ = options.text;\n /**\n * @private\n * @type {string|undefined}\n */\n this.textAlign_ = options.textAlign;\n /**\n * @private\n * @type {string|undefined}\n */\n this.textBaseline_ = options.textBaseline;\n /**\n * @private\n * @type {import(\"./Fill.js\").default}\n */\n this.fill_ =\n options.fill !== undefined\n ? options.fill\n : new Fill({ color: DEFAULT_FILL_COLOR });\n /**\n * @private\n * @type {number}\n */\n this.maxAngle_ =\n options.maxAngle !== undefined ? options.maxAngle : Math.PI / 4;\n /**\n * @private\n * @type {import(\"./TextPlacement.js\").default|string}\n */\n this.placement_ =\n options.placement !== undefined ? options.placement : TextPlacement.POINT;\n /**\n * @private\n * @type {boolean}\n */\n this.overflow_ = !!options.overflow;\n /**\n * @private\n * @type {import(\"./Stroke.js\").default}\n */\n this.stroke_ = options.stroke !== undefined ? options.stroke : null;\n /**\n * @private\n * @type {number}\n */\n this.offsetX_ = options.offsetX !== undefined ? options.offsetX : 0;\n /**\n * @private\n * @type {number}\n */\n this.offsetY_ = options.offsetY !== undefined ? options.offsetY : 0;\n /**\n * @private\n * @type {import(\"./Fill.js\").default}\n */\n this.backgroundFill_ = options.backgroundFill\n ? options.backgroundFill\n : null;\n /**\n * @private\n * @type {import(\"./Stroke.js\").default}\n */\n this.backgroundStroke_ = options.backgroundStroke\n ? options.backgroundStroke\n : null;\n /**\n * @private\n * @type {Array}\n */\n this.padding_ = options.padding === undefined ? null : options.padding;\n }\n /**\n * Clones the style.\n * @return {Text} The cloned style.\n * @api\n */\n Text.prototype.clone = function () {\n var scale = this.getScale();\n return new Text({\n font: this.getFont(),\n placement: this.getPlacement(),\n maxAngle: this.getMaxAngle(),\n overflow: this.getOverflow(),\n rotation: this.getRotation(),\n rotateWithView: this.getRotateWithView(),\n scale: Array.isArray(scale) ? scale.slice() : scale,\n text: this.getText(),\n textAlign: this.getTextAlign(),\n textBaseline: this.getTextBaseline(),\n fill: this.getFill() ? this.getFill().clone() : undefined,\n stroke: this.getStroke() ? this.getStroke().clone() : undefined,\n offsetX: this.getOffsetX(),\n offsetY: this.getOffsetY(),\n backgroundFill: this.getBackgroundFill()\n ? this.getBackgroundFill().clone()\n : undefined,\n backgroundStroke: this.getBackgroundStroke()\n ? this.getBackgroundStroke().clone()\n : undefined,\n padding: this.getPadding(),\n });\n };\n /**\n * Get the `overflow` configuration.\n * @return {boolean} Let text overflow the length of the path they follow.\n * @api\n */\n Text.prototype.getOverflow = function () {\n return this.overflow_;\n };\n /**\n * Get the font name.\n * @return {string|undefined} Font.\n * @api\n */\n Text.prototype.getFont = function () {\n return this.font_;\n };\n /**\n * Get the maximum angle between adjacent characters.\n * @return {number} Angle in radians.\n * @api\n */\n Text.prototype.getMaxAngle = function () {\n return this.maxAngle_;\n };\n /**\n * Get the label placement.\n * @return {import(\"./TextPlacement.js\").default|string} Text placement.\n * @api\n */\n Text.prototype.getPlacement = function () {\n return this.placement_;\n };\n /**\n * Get the x-offset for the text.\n * @return {number} Horizontal text offset.\n * @api\n */\n Text.prototype.getOffsetX = function () {\n return this.offsetX_;\n };\n /**\n * Get the y-offset for the text.\n * @return {number} Vertical text offset.\n * @api\n */\n Text.prototype.getOffsetY = function () {\n return this.offsetY_;\n };\n /**\n * Get the fill style for the text.\n * @return {import(\"./Fill.js\").default} Fill style.\n * @api\n */\n Text.prototype.getFill = function () {\n return this.fill_;\n };\n /**\n * Determine whether the text rotates with the map.\n * @return {boolean|undefined} Rotate with map.\n * @api\n */\n Text.prototype.getRotateWithView = function () {\n return this.rotateWithView_;\n };\n /**\n * Get the text rotation.\n * @return {number|undefined} Rotation.\n * @api\n */\n Text.prototype.getRotation = function () {\n return this.rotation_;\n };\n /**\n * Get the text scale.\n * @return {number|import(\"../size.js\").Size|undefined} Scale.\n * @api\n */\n Text.prototype.getScale = function () {\n return this.scale_;\n };\n /**\n * Get the symbolizer scale array.\n * @return {import(\"../size.js\").Size} Scale array.\n */\n Text.prototype.getScaleArray = function () {\n return this.scaleArray_;\n };\n /**\n * Get the stroke style for the text.\n * @return {import(\"./Stroke.js\").default} Stroke style.\n * @api\n */\n Text.prototype.getStroke = function () {\n return this.stroke_;\n };\n /**\n * Get the text to be rendered.\n * @return {string|undefined} Text.\n * @api\n */\n Text.prototype.getText = function () {\n return this.text_;\n };\n /**\n * Get the text alignment.\n * @return {string|undefined} Text align.\n * @api\n */\n Text.prototype.getTextAlign = function () {\n return this.textAlign_;\n };\n /**\n * Get the text baseline.\n * @return {string|undefined} Text baseline.\n * @api\n */\n Text.prototype.getTextBaseline = function () {\n return this.textBaseline_;\n };\n /**\n * Get the background fill style for the text.\n * @return {import(\"./Fill.js\").default} Fill style.\n * @api\n */\n Text.prototype.getBackgroundFill = function () {\n return this.backgroundFill_;\n };\n /**\n * Get the background stroke style for the text.\n * @return {import(\"./Stroke.js\").default} Stroke style.\n * @api\n */\n Text.prototype.getBackgroundStroke = function () {\n return this.backgroundStroke_;\n };\n /**\n * Get the padding for the text.\n * @return {Array} Padding.\n * @api\n */\n Text.prototype.getPadding = function () {\n return this.padding_;\n };\n /**\n * Set the `overflow` property.\n *\n * @param {boolean} overflow Let text overflow the path that it follows.\n * @api\n */\n Text.prototype.setOverflow = function (overflow) {\n this.overflow_ = overflow;\n };\n /**\n * Set the font.\n *\n * @param {string|undefined} font Font.\n * @api\n */\n Text.prototype.setFont = function (font) {\n this.font_ = font;\n };\n /**\n * Set the maximum angle between adjacent characters.\n *\n * @param {number} maxAngle Angle in radians.\n * @api\n */\n Text.prototype.setMaxAngle = function (maxAngle) {\n this.maxAngle_ = maxAngle;\n };\n /**\n * Set the x offset.\n *\n * @param {number} offsetX Horizontal text offset.\n * @api\n */\n Text.prototype.setOffsetX = function (offsetX) {\n this.offsetX_ = offsetX;\n };\n /**\n * Set the y offset.\n *\n * @param {number} offsetY Vertical text offset.\n * @api\n */\n Text.prototype.setOffsetY = function (offsetY) {\n this.offsetY_ = offsetY;\n };\n /**\n * Set the text placement.\n *\n * @param {import(\"./TextPlacement.js\").default|string} placement Placement.\n * @api\n */\n Text.prototype.setPlacement = function (placement) {\n this.placement_ = placement;\n };\n /**\n * Set whether to rotate the text with the view.\n *\n * @param {boolean} rotateWithView Rotate with map.\n * @api\n */\n Text.prototype.setRotateWithView = function (rotateWithView) {\n this.rotateWithView_ = rotateWithView;\n };\n /**\n * Set the fill.\n *\n * @param {import(\"./Fill.js\").default} fill Fill style.\n * @api\n */\n Text.prototype.setFill = function (fill) {\n this.fill_ = fill;\n };\n /**\n * Set the rotation.\n *\n * @param {number|undefined} rotation Rotation.\n * @api\n */\n Text.prototype.setRotation = function (rotation) {\n this.rotation_ = rotation;\n };\n /**\n * Set the scale.\n *\n * @param {number|import(\"../size.js\").Size|undefined} scale Scale.\n * @api\n */\n Text.prototype.setScale = function (scale) {\n this.scale_ = scale;\n this.scaleArray_ = toSize(scale !== undefined ? scale : 1);\n };\n /**\n * Set the stroke.\n *\n * @param {import(\"./Stroke.js\").default} stroke Stroke style.\n * @api\n */\n Text.prototype.setStroke = function (stroke) {\n this.stroke_ = stroke;\n };\n /**\n * Set the text.\n *\n * @param {string|undefined} text Text.\n * @api\n */\n Text.prototype.setText = function (text) {\n this.text_ = text;\n };\n /**\n * Set the text alignment.\n *\n * @param {string|undefined} textAlign Text align.\n * @api\n */\n Text.prototype.setTextAlign = function (textAlign) {\n this.textAlign_ = textAlign;\n };\n /**\n * Set the text baseline.\n *\n * @param {string|undefined} textBaseline Text baseline.\n * @api\n */\n Text.prototype.setTextBaseline = function (textBaseline) {\n this.textBaseline_ = textBaseline;\n };\n /**\n * Set the background fill.\n *\n * @param {import(\"./Fill.js\").default} fill Fill style.\n * @api\n */\n Text.prototype.setBackgroundFill = function (fill) {\n this.backgroundFill_ = fill;\n };\n /**\n * Set the background stroke.\n *\n * @param {import(\"./Stroke.js\").default} stroke Stroke style.\n * @api\n */\n Text.prototype.setBackgroundStroke = function (stroke) {\n this.backgroundStroke_ = stroke;\n };\n /**\n * Set the padding (`[top, right, bottom, left]`).\n *\n * @param {!Array} padding Padding.\n * @api\n */\n Text.prototype.setPadding = function (padding) {\n this.padding_ = padding;\n };\n return Text;\n}());\nexport default Text;\n//# sourceMappingURL=Text.js.map","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAtCAYAAADYxvnjAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAP5SURBVHja7JfLb1RVHMc/5z46r86003dpCwWs1uA7VkECRFgYVyxcY3QhgYWJJq6MO+PCpf+AmkhCcOVCG9NEdhIhJkJLSxFLoTAt03mUzsyde+c+znHRYkJC24FOQZL7TW7u5nd/53PP7/weRyileBqk8ZQoBA1BQ9AQNATdnIyHsN1/I29/c22xOqgJ8UADISCQCqXA0AVrNT2FIhEx7JHB1A+GJj6vZ3FRbwu9nrPHPzkz/eJS1UfXHgwqpSKdMElFdWbzNoa+RsCUwg0UH7y1zTl+sD/W0B2dyVX7l6o+zRF9TZuqG3BkuI1Xtyf54qd/iJlrnyzhSS7drlQbfkY1IYK1dvKedCEoOz6ZpRqmvr5rIcDYwN+jntF1JZVioC3KlQWLv+ZK7O6IMV+q4QUK8ZiTaV0pBX6gWHZ87lY9Yk0GStEQyMaCrr4/PjxAKmowNlXg7LSNrgkixuar4KY9CMD1JZVagO1KulNN9KWjtMYNvjz6DIeH2yg7AX6gnuyOelKxp6+Zl/qTxE2NmwWHmUWboa4EB59Nc2AoTV9rhNGJPGUnQIgnBFrzJMfe7GVkZ8ua2f3h/j6OvtLFp2eukrnrbFgRGh76QCp6WyO0NzdtaNuWMImaGo96RdsUqONL9u5sYVfnxs3FX22tTySZYqbG2ekiUwuV//f0pAlByfFZsvy6bB8bqAKk4r4QGprg9IUFvHXKjxdIar787zupVp4ty3pdgKkJ3EDi+gq5ulqu7FHzJaaur/6IwnIDzl9fZnQiT8Hy8ANJtuSi7vnRxdaA2l7AoaE0J98ewPEk2VKNyXmLi3MlrudtTp6aYkd7jN2dcQSK2bzN2FSRiCHoaYmwZ1sz7+9LsaszRipqMJOr8uOf2caDmrrG34tVTl+4Q2vMYLAjyrsvdHBsby+VWsDNgs1vV4rs293CzvYY35/L8PV7Qwx1x+lobsIPJDM5m8uZCtmSy1zR4WEmgbpB77XKbKnGtazFr5N5rFpAOm4y3JtguCeBVIobeZtU1CBX9uhu8fh5PMfkfIW5ooNS0J4wScdNbC9A17TGgzqeFC/3J/nsnUF0TSCAYtVj/HaZC7MlfpnIY9V8pu9YjE7kKVoeV7MWXckIr21PceLQADvaopiGhpSKy5kK352bbzxoZ9KUY1MFzs8uE2/S6UyaPN/bzMhgiuMH+4mZGoqVUU8phaELNCGQSrFYdrl0u8KpPxa4VXRWSlrV543BVKTuiNZ7Z3J9+dW3v2dOXLxVRtcEgVxpobomaI0ZdCRNWmImUVOgIfACRaUWULBcCpaH7cr7pvp4k85HB/pmn+tJvN5Q0PBeH4KGoCFoCBqChqAh6Fbq3wEAQGy+KyUYkcAAAAAASUVORK5CYII=\"","module.exports = __webpack_public_path__ + \"img/terrainMap.e8d63f24.png\";","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/geom/GeometryCollection\n */\nimport EventType from '../events/EventType.js';\nimport Geometry from './Geometry.js';\nimport GeometryType from './GeometryType.js';\nimport { closestSquaredDistanceXY, createOrUpdateEmpty, extend, getCenter, } from '../extent.js';\nimport { listen, unlistenByKey } from '../events.js';\n/**\n * @classdesc\n * An array of {@link module:ol/geom/Geometry} objects.\n *\n * @api\n */\nvar GeometryCollection = /** @class */ (function (_super) {\n __extends(GeometryCollection, _super);\n /**\n * @param {Array} [opt_geometries] Geometries.\n */\n function GeometryCollection(opt_geometries) {\n var _this = _super.call(this) || this;\n /**\n * @private\n * @type {Array}\n */\n _this.geometries_ = opt_geometries ? opt_geometries : null;\n /**\n * @type {Array}\n */\n _this.changeEventsKeys_ = [];\n _this.listenGeometriesChange_();\n return _this;\n }\n /**\n * @private\n */\n GeometryCollection.prototype.unlistenGeometriesChange_ = function () {\n this.changeEventsKeys_.forEach(unlistenByKey);\n this.changeEventsKeys_.length = 0;\n };\n /**\n * @private\n */\n GeometryCollection.prototype.listenGeometriesChange_ = function () {\n if (!this.geometries_) {\n return;\n }\n for (var i = 0, ii = this.geometries_.length; i < ii; ++i) {\n this.changeEventsKeys_.push(listen(this.geometries_[i], EventType.CHANGE, this.changed, this));\n }\n };\n /**\n * Make a complete copy of the geometry.\n * @return {!GeometryCollection} Clone.\n * @api\n */\n GeometryCollection.prototype.clone = function () {\n var geometryCollection = new GeometryCollection(null);\n geometryCollection.setGeometries(this.geometries_);\n geometryCollection.applyProperties(this);\n return geometryCollection;\n };\n /**\n * @param {number} x X.\n * @param {number} y Y.\n * @param {import(\"../coordinate.js\").Coordinate} closestPoint Closest point.\n * @param {number} minSquaredDistance Minimum squared distance.\n * @return {number} Minimum squared distance.\n */\n GeometryCollection.prototype.closestPointXY = function (x, y, closestPoint, minSquaredDistance) {\n if (minSquaredDistance < closestSquaredDistanceXY(this.getExtent(), x, y)) {\n return minSquaredDistance;\n }\n var geometries = this.geometries_;\n for (var i = 0, ii = geometries.length; i < ii; ++i) {\n minSquaredDistance = geometries[i].closestPointXY(x, y, closestPoint, minSquaredDistance);\n }\n return minSquaredDistance;\n };\n /**\n * @param {number} x X.\n * @param {number} y Y.\n * @return {boolean} Contains (x, y).\n */\n GeometryCollection.prototype.containsXY = function (x, y) {\n var geometries = this.geometries_;\n for (var i = 0, ii = geometries.length; i < ii; ++i) {\n if (geometries[i].containsXY(x, y)) {\n return true;\n }\n }\n return false;\n };\n /**\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @protected\n * @return {import(\"../extent.js\").Extent} extent Extent.\n */\n GeometryCollection.prototype.computeExtent = function (extent) {\n createOrUpdateEmpty(extent);\n var geometries = this.geometries_;\n for (var i = 0, ii = geometries.length; i < ii; ++i) {\n extend(extent, geometries[i].getExtent());\n }\n return extent;\n };\n /**\n * Return the geometries that make up this geometry collection.\n * @return {Array} Geometries.\n * @api\n */\n GeometryCollection.prototype.getGeometries = function () {\n return cloneGeometries(this.geometries_);\n };\n /**\n * @return {Array} Geometries.\n */\n GeometryCollection.prototype.getGeometriesArray = function () {\n return this.geometries_;\n };\n /**\n * @return {Array} Geometries.\n */\n GeometryCollection.prototype.getGeometriesArrayRecursive = function () {\n /** @type {Array} */\n var geometriesArray = [];\n var geometries = this.geometries_;\n for (var i = 0, ii = geometries.length; i < ii; ++i) {\n if (geometries[i].getType() === this.getType()) {\n geometriesArray = geometriesArray.concat(\n /** @type {GeometryCollection} */ (geometries[i]).getGeometriesArrayRecursive());\n }\n else {\n geometriesArray.push(geometries[i]);\n }\n }\n return geometriesArray;\n };\n /**\n * Create a simplified version of this geometry using the Douglas Peucker algorithm.\n * @param {number} squaredTolerance Squared tolerance.\n * @return {GeometryCollection} Simplified GeometryCollection.\n */\n GeometryCollection.prototype.getSimplifiedGeometry = function (squaredTolerance) {\n if (this.simplifiedGeometryRevision !== this.getRevision()) {\n this.simplifiedGeometryMaxMinSquaredTolerance = 0;\n this.simplifiedGeometryRevision = this.getRevision();\n }\n if (squaredTolerance < 0 ||\n (this.simplifiedGeometryMaxMinSquaredTolerance !== 0 &&\n squaredTolerance < this.simplifiedGeometryMaxMinSquaredTolerance)) {\n return this;\n }\n var simplifiedGeometries = [];\n var geometries = this.geometries_;\n var simplified = false;\n for (var i = 0, ii = geometries.length; i < ii; ++i) {\n var geometry = geometries[i];\n var simplifiedGeometry = geometry.getSimplifiedGeometry(squaredTolerance);\n simplifiedGeometries.push(simplifiedGeometry);\n if (simplifiedGeometry !== geometry) {\n simplified = true;\n }\n }\n if (simplified) {\n var simplifiedGeometryCollection = new GeometryCollection(null);\n simplifiedGeometryCollection.setGeometriesArray(simplifiedGeometries);\n return simplifiedGeometryCollection;\n }\n else {\n this.simplifiedGeometryMaxMinSquaredTolerance = squaredTolerance;\n return this;\n }\n };\n /**\n * Get the type of this geometry.\n * @return {import(\"./GeometryType.js\").default} Geometry type.\n * @api\n */\n GeometryCollection.prototype.getType = function () {\n return GeometryType.GEOMETRY_COLLECTION;\n };\n /**\n * Test if the geometry and the passed extent intersect.\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @return {boolean} `true` if the geometry and the extent intersect.\n * @api\n */\n GeometryCollection.prototype.intersectsExtent = function (extent) {\n var geometries = this.geometries_;\n for (var i = 0, ii = geometries.length; i < ii; ++i) {\n if (geometries[i].intersectsExtent(extent)) {\n return true;\n }\n }\n return false;\n };\n /**\n * @return {boolean} Is empty.\n */\n GeometryCollection.prototype.isEmpty = function () {\n return this.geometries_.length === 0;\n };\n /**\n * Rotate the geometry around a given coordinate. This modifies the geometry\n * coordinates in place.\n * @param {number} angle Rotation angle in radians.\n * @param {import(\"../coordinate.js\").Coordinate} anchor The rotation center.\n * @api\n */\n GeometryCollection.prototype.rotate = function (angle, anchor) {\n var geometries = this.geometries_;\n for (var i = 0, ii = geometries.length; i < ii; ++i) {\n geometries[i].rotate(angle, anchor);\n }\n this.changed();\n };\n /**\n * Scale the geometry (with an optional origin). This modifies the geometry\n * coordinates in place.\n * @abstract\n * @param {number} sx The scaling factor in the x-direction.\n * @param {number} [opt_sy] The scaling factor in the y-direction (defaults to sx).\n * @param {import(\"../coordinate.js\").Coordinate} [opt_anchor] The scale origin (defaults to the center\n * of the geometry extent).\n * @api\n */\n GeometryCollection.prototype.scale = function (sx, opt_sy, opt_anchor) {\n var anchor = opt_anchor;\n if (!anchor) {\n anchor = getCenter(this.getExtent());\n }\n var geometries = this.geometries_;\n for (var i = 0, ii = geometries.length; i < ii; ++i) {\n geometries[i].scale(sx, opt_sy, anchor);\n }\n this.changed();\n };\n /**\n * Set the geometries that make up this geometry collection.\n * @param {Array} geometries Geometries.\n * @api\n */\n GeometryCollection.prototype.setGeometries = function (geometries) {\n this.setGeometriesArray(cloneGeometries(geometries));\n };\n /**\n * @param {Array} geometries Geometries.\n */\n GeometryCollection.prototype.setGeometriesArray = function (geometries) {\n this.unlistenGeometriesChange_();\n this.geometries_ = geometries;\n this.listenGeometriesChange_();\n this.changed();\n };\n /**\n * Apply a transform function to the coordinates of the geometry.\n * The geometry is modified in place.\n * If you do not want the geometry modified in place, first `clone()` it and\n * then use this function on the clone.\n * @param {import(\"../proj.js\").TransformFunction} transformFn Transform function.\n * Called with a flat array of geometry coordinates.\n * @api\n */\n GeometryCollection.prototype.applyTransform = function (transformFn) {\n var geometries = this.geometries_;\n for (var i = 0, ii = geometries.length; i < ii; ++i) {\n geometries[i].applyTransform(transformFn);\n }\n this.changed();\n };\n /**\n * Translate the geometry. This modifies the geometry coordinates in place. If\n * instead you want a new geometry, first `clone()` this geometry.\n * @param {number} deltaX Delta X.\n * @param {number} deltaY Delta Y.\n * @api\n */\n GeometryCollection.prototype.translate = function (deltaX, deltaY) {\n var geometries = this.geometries_;\n for (var i = 0, ii = geometries.length; i < ii; ++i) {\n geometries[i].translate(deltaX, deltaY);\n }\n this.changed();\n };\n /**\n * Clean up.\n */\n GeometryCollection.prototype.disposeInternal = function () {\n this.unlistenGeometriesChange_();\n _super.prototype.disposeInternal.call(this);\n };\n return GeometryCollection;\n}(Geometry));\n/**\n * @param {Array} geometries Geometries.\n * @return {Array} Cloned geometries.\n */\nfunction cloneGeometries(geometries) {\n var clonedGeometries = [];\n for (var i = 0, ii = geometries.length; i < ii; ++i) {\n clonedGeometries.push(geometries[i].clone());\n }\n return clonedGeometries;\n}\nexport default GeometryCollection;\n//# sourceMappingURL=GeometryCollection.js.map","/**\n * @module ol/format/Feature\n */\nimport Units from '../proj/Units.js';\nimport { abstract } from '../util.js';\nimport { assign } from '../obj.js';\nimport { equivalent as equivalentProjection, get as getProjection, transformExtent, } from '../proj.js';\n/**\n * @typedef {Object} ReadOptions\n * @property {import(\"../proj.js\").ProjectionLike} [dataProjection] Projection of the data we are reading.\n * If not provided, the projection will be derived from the data (where possible) or\n * the `dataProjection` of the format is assigned (where set). If the projection\n * can not be derived from the data and if no `dataProjection` is set for a format,\n * the features will not be reprojected.\n * @property {import(\"../extent.js\").Extent} [extent] Tile extent in map units of the tile being read.\n * This is only required when reading data with tile pixels as geometry units. When configured,\n * a `dataProjection` with `TILE_PIXELS` as `units` and the tile's pixel extent as `extent` needs to be\n * provided.\n * @property {import(\"../proj.js\").ProjectionLike} [featureProjection] Projection of the feature geometries\n * created by the format reader. If not provided, features will be returned in the\n * `dataProjection`.\n */\n/**\n * @typedef {Object} WriteOptions\n * @property {import(\"../proj.js\").ProjectionLike} [dataProjection] Projection of the data we are writing.\n * If not provided, the `dataProjection` of the format is assigned (where set).\n * If no `dataProjection` is set for a format, the features will be returned\n * in the `featureProjection`.\n * @property {import(\"../proj.js\").ProjectionLike} [featureProjection] Projection of the feature geometries\n * that will be serialized by the format writer. If not provided, geometries are assumed\n * to be in the `dataProjection` if that is set; in other words, they are not transformed.\n * @property {boolean} [rightHanded] When writing geometries, follow the right-hand\n * rule for linear ring orientation. This means that polygons will have counter-clockwise\n * exterior rings and clockwise interior rings. By default, coordinates are serialized\n * as they are provided at construction. If `true`, the right-hand rule will\n * be applied. If `false`, the left-hand rule will be applied (clockwise for\n * exterior and counter-clockwise for interior rings). Note that not all\n * formats support this. The GeoJSON format does use this property when writing\n * geometries.\n * @property {number} [decimals] Maximum number of decimal places for coordinates.\n * Coordinates are stored internally as floats, but floating-point arithmetic can create\n * coordinates with a large number of decimal places, not generally wanted on output.\n * Set a number here to round coordinates. Can also be used to ensure that\n * coordinates read in can be written back out with the same number of decimals.\n * Default is no rounding.\n */\n/**\n * @classdesc\n * Abstract base class; normally only used for creating subclasses and not\n * instantiated in apps.\n * Base class for feature formats.\n * {@link module:ol/format/Feature~FeatureFormat} subclasses provide the ability to decode and encode\n * {@link module:ol/Feature~Feature} objects from a variety of commonly used geospatial\n * file formats. See the documentation for each format for more details.\n *\n * @abstract\n * @api\n */\nvar FeatureFormat = /** @class */ (function () {\n function FeatureFormat() {\n /**\n * @protected\n * @type {import(\"../proj/Projection.js\").default|undefined}\n */\n this.dataProjection = undefined;\n /**\n * @protected\n * @type {import(\"../proj/Projection.js\").default|undefined}\n */\n this.defaultFeatureProjection = undefined;\n /**\n * A list media types supported by the format in descending order of preference.\n * @type {Array}\n */\n this.supportedMediaTypes = null;\n }\n /**\n * Adds the data projection to the read options.\n * @param {Document|Element|Object|string} source Source.\n * @param {ReadOptions} [opt_options] Options.\n * @return {ReadOptions|undefined} Options.\n * @protected\n */\n FeatureFormat.prototype.getReadOptions = function (source, opt_options) {\n var options;\n if (opt_options) {\n var dataProjection = opt_options.dataProjection\n ? getProjection(opt_options.dataProjection)\n : this.readProjection(source);\n if (opt_options.extent &&\n dataProjection &&\n dataProjection.getUnits() === Units.TILE_PIXELS) {\n dataProjection = getProjection(dataProjection);\n dataProjection.setWorldExtent(opt_options.extent);\n }\n options = {\n dataProjection: dataProjection,\n featureProjection: opt_options.featureProjection,\n };\n }\n return this.adaptOptions(options);\n };\n /**\n * Sets the `dataProjection` on the options, if no `dataProjection`\n * is set.\n * @param {WriteOptions|ReadOptions|undefined} options\n * Options.\n * @protected\n * @return {WriteOptions|ReadOptions|undefined}\n * Updated options.\n */\n FeatureFormat.prototype.adaptOptions = function (options) {\n return assign({\n dataProjection: this.dataProjection,\n featureProjection: this.defaultFeatureProjection,\n }, options);\n };\n /**\n * @abstract\n * @return {import(\"./FormatType.js\").default} Format.\n */\n FeatureFormat.prototype.getType = function () {\n return abstract();\n };\n /**\n * Read a single feature from a source.\n *\n * @abstract\n * @param {Document|Element|Object|string} source Source.\n * @param {ReadOptions} [opt_options] Read options.\n * @return {import(\"../Feature.js\").FeatureLike} Feature.\n */\n FeatureFormat.prototype.readFeature = function (source, opt_options) {\n return abstract();\n };\n /**\n * Read all features from a source.\n *\n * @abstract\n * @param {Document|Element|ArrayBuffer|Object|string} source Source.\n * @param {ReadOptions} [opt_options] Read options.\n * @return {Array} Features.\n */\n FeatureFormat.prototype.readFeatures = function (source, opt_options) {\n return abstract();\n };\n /**\n * Read a single geometry from a source.\n *\n * @abstract\n * @param {Document|Element|Object|string} source Source.\n * @param {ReadOptions} [opt_options] Read options.\n * @return {import(\"../geom/Geometry.js\").default} Geometry.\n */\n FeatureFormat.prototype.readGeometry = function (source, opt_options) {\n return abstract();\n };\n /**\n * Read the projection from a source.\n *\n * @abstract\n * @param {Document|Element|Object|string} source Source.\n * @return {import(\"../proj/Projection.js\").default|undefined} Projection.\n */\n FeatureFormat.prototype.readProjection = function (source) {\n return abstract();\n };\n /**\n * Encode a feature in this format.\n *\n * @abstract\n * @param {import(\"../Feature.js\").default} feature Feature.\n * @param {WriteOptions} [opt_options] Write options.\n * @return {string|ArrayBuffer} Result.\n */\n FeatureFormat.prototype.writeFeature = function (feature, opt_options) {\n return abstract();\n };\n /**\n * Encode an array of features in this format.\n *\n * @abstract\n * @param {Array} features Features.\n * @param {WriteOptions} [opt_options] Write options.\n * @return {string|ArrayBuffer} Result.\n */\n FeatureFormat.prototype.writeFeatures = function (features, opt_options) {\n return abstract();\n };\n /**\n * Write a single geometry in this format.\n *\n * @abstract\n * @param {import(\"../geom/Geometry.js\").default} geometry Geometry.\n * @param {WriteOptions} [opt_options] Write options.\n * @return {string|ArrayBuffer} Result.\n */\n FeatureFormat.prototype.writeGeometry = function (geometry, opt_options) {\n return abstract();\n };\n return FeatureFormat;\n}());\nexport default FeatureFormat;\n/**\n * @param {import(\"../geom/Geometry.js\").default} geometry Geometry.\n * @param {boolean} write Set to true for writing, false for reading.\n * @param {WriteOptions|ReadOptions} [opt_options] Options.\n * @return {import(\"../geom/Geometry.js\").default} Transformed geometry.\n */\nexport function transformGeometryWithOptions(geometry, write, opt_options) {\n var featureProjection = opt_options\n ? getProjection(opt_options.featureProjection)\n : null;\n var dataProjection = opt_options\n ? getProjection(opt_options.dataProjection)\n : null;\n var transformed;\n if (featureProjection &&\n dataProjection &&\n !equivalentProjection(featureProjection, dataProjection)) {\n transformed = (write ? geometry.clone() : geometry).transform(write ? featureProjection : dataProjection, write ? dataProjection : featureProjection);\n }\n else {\n transformed = geometry;\n }\n if (write &&\n opt_options &&\n /** @type {WriteOptions} */ (opt_options).decimals !== undefined) {\n var power_1 = Math.pow(10, \n /** @type {WriteOptions} */ (opt_options).decimals);\n // if decimals option on write, round each coordinate appropriately\n /**\n * @param {Array} coordinates Coordinates.\n * @return {Array} Transformed coordinates.\n */\n var transform = function (coordinates) {\n for (var i = 0, ii = coordinates.length; i < ii; ++i) {\n coordinates[i] = Math.round(coordinates[i] * power_1) / power_1;\n }\n return coordinates;\n };\n if (transformed === geometry) {\n transformed = geometry.clone();\n }\n transformed.applyTransform(transform);\n }\n return transformed;\n}\n/**\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @param {ReadOptions} [opt_options] Read options.\n * @return {import(\"../extent.js\").Extent} Transformed extent.\n */\nexport function transformExtentWithOptions(extent, opt_options) {\n var featureProjection = opt_options\n ? getProjection(opt_options.featureProjection)\n : null;\n var dataProjection = opt_options\n ? getProjection(opt_options.dataProjection)\n : null;\n if (featureProjection &&\n dataProjection &&\n !equivalentProjection(featureProjection, dataProjection)) {\n return transformExtent(extent, dataProjection, featureProjection);\n }\n else {\n return extent;\n }\n}\n//# sourceMappingURL=Feature.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/format/JSONFeature\n */\nimport FeatureFormat from './Feature.js';\nimport FormatType from './FormatType.js';\nimport { abstract } from '../util.js';\n/**\n * @classdesc\n * Abstract base class; normally only used for creating subclasses and not\n * instantiated in apps.\n * Base class for JSON feature formats.\n *\n * @abstract\n */\nvar JSONFeature = /** @class */ (function (_super) {\n __extends(JSONFeature, _super);\n function JSONFeature() {\n return _super.call(this) || this;\n }\n /**\n * @return {import(\"./FormatType.js\").default} Format.\n */\n JSONFeature.prototype.getType = function () {\n return FormatType.JSON;\n };\n /**\n * Read a feature. Only works for a single feature. Use `readFeatures` to\n * read a feature collection.\n *\n * @param {ArrayBuffer|Document|Element|Object|string} source Source.\n * @param {import(\"./Feature.js\").ReadOptions} [opt_options] Read options.\n * @return {import(\"../Feature.js\").default} Feature.\n * @api\n */\n JSONFeature.prototype.readFeature = function (source, opt_options) {\n return this.readFeatureFromObject(getObject(source), this.getReadOptions(source, opt_options));\n };\n /**\n * Read all features. Works with both a single feature and a feature\n * collection.\n *\n * @param {ArrayBuffer|Document|Element|Object|string} source Source.\n * @param {import(\"./Feature.js\").ReadOptions} [opt_options] Read options.\n * @return {Array} Features.\n * @api\n */\n JSONFeature.prototype.readFeatures = function (source, opt_options) {\n return this.readFeaturesFromObject(getObject(source), this.getReadOptions(source, opt_options));\n };\n /**\n * @abstract\n * @param {Object} object Object.\n * @param {import(\"./Feature.js\").ReadOptions} [opt_options] Read options.\n * @protected\n * @return {import(\"../Feature.js\").default} Feature.\n */\n JSONFeature.prototype.readFeatureFromObject = function (object, opt_options) {\n return abstract();\n };\n /**\n * @abstract\n * @param {Object} object Object.\n * @param {import(\"./Feature.js\").ReadOptions} [opt_options] Read options.\n * @protected\n * @return {Array} Features.\n */\n JSONFeature.prototype.readFeaturesFromObject = function (object, opt_options) {\n return abstract();\n };\n /**\n * Read a geometry.\n *\n * @param {ArrayBuffer|Document|Element|Object|string} source Source.\n * @param {import(\"./Feature.js\").ReadOptions} [opt_options] Read options.\n * @return {import(\"../geom/Geometry.js\").default} Geometry.\n * @api\n */\n JSONFeature.prototype.readGeometry = function (source, opt_options) {\n return this.readGeometryFromObject(getObject(source), this.getReadOptions(source, opt_options));\n };\n /**\n * @abstract\n * @param {Object} object Object.\n * @param {import(\"./Feature.js\").ReadOptions} [opt_options] Read options.\n * @protected\n * @return {import(\"../geom/Geometry.js\").default} Geometry.\n */\n JSONFeature.prototype.readGeometryFromObject = function (object, opt_options) {\n return abstract();\n };\n /**\n * Read the projection.\n *\n * @param {ArrayBuffer|Document|Element|Object|string} source Source.\n * @return {import(\"../proj/Projection.js\").default} Projection.\n * @api\n */\n JSONFeature.prototype.readProjection = function (source) {\n return this.readProjectionFromObject(getObject(source));\n };\n /**\n * @abstract\n * @param {Object} object Object.\n * @protected\n * @return {import(\"../proj/Projection.js\").default} Projection.\n */\n JSONFeature.prototype.readProjectionFromObject = function (object) {\n return abstract();\n };\n /**\n * Encode a feature as string.\n *\n * @param {import(\"../Feature.js\").default} feature Feature.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @return {string} Encoded feature.\n * @api\n */\n JSONFeature.prototype.writeFeature = function (feature, opt_options) {\n return JSON.stringify(this.writeFeatureObject(feature, opt_options));\n };\n /**\n * @abstract\n * @param {import(\"../Feature.js\").default} feature Feature.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @return {Object} Object.\n */\n JSONFeature.prototype.writeFeatureObject = function (feature, opt_options) {\n return abstract();\n };\n /**\n * Encode an array of features as string.\n *\n * @param {Array} features Features.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @return {string} Encoded features.\n * @api\n */\n JSONFeature.prototype.writeFeatures = function (features, opt_options) {\n return JSON.stringify(this.writeFeaturesObject(features, opt_options));\n };\n /**\n * @abstract\n * @param {Array} features Features.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @return {Object} Object.\n */\n JSONFeature.prototype.writeFeaturesObject = function (features, opt_options) {\n return abstract();\n };\n /**\n * Encode a geometry as string.\n *\n * @param {import(\"../geom/Geometry.js\").default} geometry Geometry.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @return {string} Encoded geometry.\n * @api\n */\n JSONFeature.prototype.writeGeometry = function (geometry, opt_options) {\n return JSON.stringify(this.writeGeometryObject(geometry, opt_options));\n };\n /**\n * @abstract\n * @param {import(\"../geom/Geometry.js\").default} geometry Geometry.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @return {Object} Object.\n */\n JSONFeature.prototype.writeGeometryObject = function (geometry, opt_options) {\n return abstract();\n };\n return JSONFeature;\n}(FeatureFormat));\n/**\n * @param {Document|Element|Object|string} source Source.\n * @return {Object} Object.\n */\nfunction getObject(source) {\n if (typeof source === 'string') {\n var object = JSON.parse(source);\n return object ? /** @type {Object} */ (object) : null;\n }\n else if (source !== null) {\n return source;\n }\n else {\n return null;\n }\n}\nexport default JSONFeature;\n//# sourceMappingURL=JSONFeature.js.map","/**\n * @module ol/geom/flat/interpolate\n */\nimport { binarySearch } from '../../array.js';\nimport { lerp } from '../../math.js';\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @param {number} fraction Fraction.\n * @param {Array} [opt_dest] Destination.\n * @param {number} [opt_dimension] Destination dimension (default is `2`)\n * @return {Array} Destination.\n */\nexport function interpolatePoint(flatCoordinates, offset, end, stride, fraction, opt_dest, opt_dimension) {\n var o, t;\n var n = (end - offset) / stride;\n if (n === 1) {\n o = offset;\n }\n else if (n === 2) {\n o = offset;\n t = fraction;\n }\n else if (n !== 0) {\n var x1 = flatCoordinates[offset];\n var y1 = flatCoordinates[offset + 1];\n var length_1 = 0;\n var cumulativeLengths = [0];\n for (var i = offset + stride; i < end; i += stride) {\n var x2 = flatCoordinates[i];\n var y2 = flatCoordinates[i + 1];\n length_1 += Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));\n cumulativeLengths.push(length_1);\n x1 = x2;\n y1 = y2;\n }\n var target = fraction * length_1;\n var index = binarySearch(cumulativeLengths, target);\n if (index < 0) {\n t =\n (target - cumulativeLengths[-index - 2]) /\n (cumulativeLengths[-index - 1] - cumulativeLengths[-index - 2]);\n o = offset + (-index - 2) * stride;\n }\n else {\n o = offset + index * stride;\n }\n }\n var dimension = opt_dimension > 1 ? opt_dimension : 2;\n var dest = opt_dest ? opt_dest : new Array(dimension);\n for (var i = 0; i < dimension; ++i) {\n dest[i] =\n o === undefined\n ? NaN\n : t === undefined\n ? flatCoordinates[o + i]\n : lerp(flatCoordinates[o + i], flatCoordinates[o + stride + i], t);\n }\n return dest;\n}\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @param {number} m M.\n * @param {boolean} extrapolate Extrapolate.\n * @return {import(\"../../coordinate.js\").Coordinate} Coordinate.\n */\nexport function lineStringCoordinateAtM(flatCoordinates, offset, end, stride, m, extrapolate) {\n if (end == offset) {\n return null;\n }\n var coordinate;\n if (m < flatCoordinates[offset + stride - 1]) {\n if (extrapolate) {\n coordinate = flatCoordinates.slice(offset, offset + stride);\n coordinate[stride - 1] = m;\n return coordinate;\n }\n else {\n return null;\n }\n }\n else if (flatCoordinates[end - 1] < m) {\n if (extrapolate) {\n coordinate = flatCoordinates.slice(end - stride, end);\n coordinate[stride - 1] = m;\n return coordinate;\n }\n else {\n return null;\n }\n }\n // FIXME use O(1) search\n if (m == flatCoordinates[offset + stride - 1]) {\n return flatCoordinates.slice(offset, offset + stride);\n }\n var lo = offset / stride;\n var hi = end / stride;\n while (lo < hi) {\n var mid = (lo + hi) >> 1;\n if (m < flatCoordinates[(mid + 1) * stride - 1]) {\n hi = mid;\n }\n else {\n lo = mid + 1;\n }\n }\n var m0 = flatCoordinates[lo * stride - 1];\n if (m == m0) {\n return flatCoordinates.slice((lo - 1) * stride, (lo - 1) * stride + stride);\n }\n var m1 = flatCoordinates[(lo + 1) * stride - 1];\n var t = (m - m0) / (m1 - m0);\n coordinate = [];\n for (var i = 0; i < stride - 1; ++i) {\n coordinate.push(lerp(flatCoordinates[(lo - 1) * stride + i], flatCoordinates[lo * stride + i], t));\n }\n coordinate.push(m);\n return coordinate;\n}\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array} ends Ends.\n * @param {number} stride Stride.\n * @param {number} m M.\n * @param {boolean} extrapolate Extrapolate.\n * @param {boolean} interpolate Interpolate.\n * @return {import(\"../../coordinate.js\").Coordinate} Coordinate.\n */\nexport function lineStringsCoordinateAtM(flatCoordinates, offset, ends, stride, m, extrapolate, interpolate) {\n if (interpolate) {\n return lineStringCoordinateAtM(flatCoordinates, offset, ends[ends.length - 1], stride, m, extrapolate);\n }\n var coordinate;\n if (m < flatCoordinates[stride - 1]) {\n if (extrapolate) {\n coordinate = flatCoordinates.slice(0, stride);\n coordinate[stride - 1] = m;\n return coordinate;\n }\n else {\n return null;\n }\n }\n if (flatCoordinates[flatCoordinates.length - 1] < m) {\n if (extrapolate) {\n coordinate = flatCoordinates.slice(flatCoordinates.length - stride);\n coordinate[stride - 1] = m;\n return coordinate;\n }\n else {\n return null;\n }\n }\n for (var i = 0, ii = ends.length; i < ii; ++i) {\n var end = ends[i];\n if (offset == end) {\n continue;\n }\n if (m < flatCoordinates[offset + stride - 1]) {\n return null;\n }\n else if (m <= flatCoordinates[end - 1]) {\n return lineStringCoordinateAtM(flatCoordinates, offset, end, stride, m, false);\n }\n offset = end;\n }\n return null;\n}\n//# sourceMappingURL=interpolate.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/geom/LineString\n */\nimport GeometryLayout from './GeometryLayout.js';\nimport GeometryType from './GeometryType.js';\nimport SimpleGeometry from './SimpleGeometry.js';\nimport { assignClosestPoint, maxSquaredDelta } from './flat/closest.js';\nimport { closestSquaredDistanceXY } from '../extent.js';\nimport { deflateCoordinates } from './flat/deflate.js';\nimport { douglasPeucker } from './flat/simplify.js';\nimport { extend } from '../array.js';\nimport { forEach as forEachSegment } from './flat/segments.js';\nimport { inflateCoordinates } from './flat/inflate.js';\nimport { interpolatePoint, lineStringCoordinateAtM } from './flat/interpolate.js';\nimport { intersectsLineString } from './flat/intersectsextent.js';\nimport { lineStringLength } from './flat/length.js';\n/**\n * @classdesc\n * Linestring geometry.\n *\n * @api\n */\nvar LineString = /** @class */ (function (_super) {\n __extends(LineString, _super);\n /**\n * @param {Array|Array} coordinates Coordinates.\n * For internal use, flat coordinates in combination with `opt_layout` are also accepted.\n * @param {import(\"./GeometryLayout.js\").default} [opt_layout] Layout.\n */\n function LineString(coordinates, opt_layout) {\n var _this = _super.call(this) || this;\n /**\n * @private\n * @type {import(\"../coordinate.js\").Coordinate}\n */\n _this.flatMidpoint_ = null;\n /**\n * @private\n * @type {number}\n */\n _this.flatMidpointRevision_ = -1;\n /**\n * @private\n * @type {number}\n */\n _this.maxDelta_ = -1;\n /**\n * @private\n * @type {number}\n */\n _this.maxDeltaRevision_ = -1;\n if (opt_layout !== undefined && !Array.isArray(coordinates[0])) {\n _this.setFlatCoordinates(opt_layout, \n /** @type {Array} */ (coordinates));\n }\n else {\n _this.setCoordinates(\n /** @type {Array} */ (coordinates), opt_layout);\n }\n return _this;\n }\n /**\n * Append the passed coordinate to the coordinates of the linestring.\n * @param {import(\"../coordinate.js\").Coordinate} coordinate Coordinate.\n * @api\n */\n LineString.prototype.appendCoordinate = function (coordinate) {\n if (!this.flatCoordinates) {\n this.flatCoordinates = coordinate.slice();\n }\n else {\n extend(this.flatCoordinates, coordinate);\n }\n this.changed();\n };\n /**\n * Make a complete copy of the geometry.\n * @return {!LineString} Clone.\n * @api\n */\n LineString.prototype.clone = function () {\n var lineString = new LineString(this.flatCoordinates.slice(), this.layout);\n lineString.applyProperties(this);\n return lineString;\n };\n /**\n * @param {number} x X.\n * @param {number} y Y.\n * @param {import(\"../coordinate.js\").Coordinate} closestPoint Closest point.\n * @param {number} minSquaredDistance Minimum squared distance.\n * @return {number} Minimum squared distance.\n */\n LineString.prototype.closestPointXY = function (x, y, closestPoint, minSquaredDistance) {\n if (minSquaredDistance < closestSquaredDistanceXY(this.getExtent(), x, y)) {\n return minSquaredDistance;\n }\n if (this.maxDeltaRevision_ != this.getRevision()) {\n this.maxDelta_ = Math.sqrt(maxSquaredDelta(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride, 0));\n this.maxDeltaRevision_ = this.getRevision();\n }\n return assignClosestPoint(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride, this.maxDelta_, false, x, y, closestPoint, minSquaredDistance);\n };\n /**\n * Iterate over each segment, calling the provided callback.\n * If the callback returns a truthy value the function returns that\n * value immediately. Otherwise the function returns `false`.\n *\n * @param {function(this: S, import(\"../coordinate.js\").Coordinate, import(\"../coordinate.js\").Coordinate): T} callback Function\n * called for each segment. The function will receive two arguments, the start and end coordinates of the segment.\n * @return {T|boolean} Value.\n * @template T,S\n * @api\n */\n LineString.prototype.forEachSegment = function (callback) {\n return forEachSegment(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride, callback);\n };\n /**\n * Returns the coordinate at `m` using linear interpolation, or `null` if no\n * such coordinate exists.\n *\n * `opt_extrapolate` controls extrapolation beyond the range of Ms in the\n * MultiLineString. If `opt_extrapolate` is `true` then Ms less than the first\n * M will return the first coordinate and Ms greater than the last M will\n * return the last coordinate.\n *\n * @param {number} m M.\n * @param {boolean} [opt_extrapolate] Extrapolate. Default is `false`.\n * @return {import(\"../coordinate.js\").Coordinate} Coordinate.\n * @api\n */\n LineString.prototype.getCoordinateAtM = function (m, opt_extrapolate) {\n if (this.layout != GeometryLayout.XYM &&\n this.layout != GeometryLayout.XYZM) {\n return null;\n }\n var extrapolate = opt_extrapolate !== undefined ? opt_extrapolate : false;\n return lineStringCoordinateAtM(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride, m, extrapolate);\n };\n /**\n * Return the coordinates of the linestring.\n * @return {Array} Coordinates.\n * @api\n */\n LineString.prototype.getCoordinates = function () {\n return inflateCoordinates(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride);\n };\n /**\n * Return the coordinate at the provided fraction along the linestring.\n * The `fraction` is a number between 0 and 1, where 0 is the start of the\n * linestring and 1 is the end.\n * @param {number} fraction Fraction.\n * @param {import(\"../coordinate.js\").Coordinate} [opt_dest] Optional coordinate whose values will\n * be modified. If not provided, a new coordinate will be returned.\n * @return {import(\"../coordinate.js\").Coordinate} Coordinate of the interpolated point.\n * @api\n */\n LineString.prototype.getCoordinateAt = function (fraction, opt_dest) {\n return interpolatePoint(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride, fraction, opt_dest, this.stride);\n };\n /**\n * Return the length of the linestring on projected plane.\n * @return {number} Length (on projected plane).\n * @api\n */\n LineString.prototype.getLength = function () {\n return lineStringLength(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride);\n };\n /**\n * @return {Array} Flat midpoint.\n */\n LineString.prototype.getFlatMidpoint = function () {\n if (this.flatMidpointRevision_ != this.getRevision()) {\n this.flatMidpoint_ = this.getCoordinateAt(0.5, this.flatMidpoint_);\n this.flatMidpointRevision_ = this.getRevision();\n }\n return this.flatMidpoint_;\n };\n /**\n * @param {number} squaredTolerance Squared tolerance.\n * @return {LineString} Simplified LineString.\n * @protected\n */\n LineString.prototype.getSimplifiedGeometryInternal = function (squaredTolerance) {\n var simplifiedFlatCoordinates = [];\n simplifiedFlatCoordinates.length = douglasPeucker(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride, squaredTolerance, simplifiedFlatCoordinates, 0);\n return new LineString(simplifiedFlatCoordinates, GeometryLayout.XY);\n };\n /**\n * Get the type of this geometry.\n * @return {import(\"./GeometryType.js\").default} Geometry type.\n * @api\n */\n LineString.prototype.getType = function () {\n return GeometryType.LINE_STRING;\n };\n /**\n * Test if the geometry and the passed extent intersect.\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @return {boolean} `true` if the geometry and the extent intersect.\n * @api\n */\n LineString.prototype.intersectsExtent = function (extent) {\n return intersectsLineString(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride, extent);\n };\n /**\n * Set the coordinates of the linestring.\n * @param {!Array} coordinates Coordinates.\n * @param {import(\"./GeometryLayout.js\").default} [opt_layout] Layout.\n * @api\n */\n LineString.prototype.setCoordinates = function (coordinates, opt_layout) {\n this.setLayout(opt_layout, coordinates, 1);\n if (!this.flatCoordinates) {\n this.flatCoordinates = [];\n }\n this.flatCoordinates.length = deflateCoordinates(this.flatCoordinates, 0, coordinates, this.stride);\n this.changed();\n };\n return LineString;\n}(SimpleGeometry));\nexport default LineString;\n//# sourceMappingURL=LineString.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/geom/MultiLineString\n */\nimport GeometryLayout from './GeometryLayout.js';\nimport GeometryType from './GeometryType.js';\nimport LineString from './LineString.js';\nimport SimpleGeometry from './SimpleGeometry.js';\nimport { arrayMaxSquaredDelta, assignClosestArrayPoint } from './flat/closest.js';\nimport { closestSquaredDistanceXY } from '../extent.js';\nimport { deflateCoordinatesArray } from './flat/deflate.js';\nimport { douglasPeuckerArray } from './flat/simplify.js';\nimport { extend } from '../array.js';\nimport { inflateCoordinatesArray } from './flat/inflate.js';\nimport { interpolatePoint, lineStringsCoordinateAtM, } from './flat/interpolate.js';\nimport { intersectsLineStringArray } from './flat/intersectsextent.js';\n/**\n * @classdesc\n * Multi-linestring geometry.\n *\n * @api\n */\nvar MultiLineString = /** @class */ (function (_super) {\n __extends(MultiLineString, _super);\n /**\n * @param {Array|LineString>|Array} coordinates\n * Coordinates or LineString geometries. (For internal use, flat coordinates in\n * combination with `opt_layout` and `opt_ends` are also accepted.)\n * @param {import(\"./GeometryLayout.js\").default} [opt_layout] Layout.\n * @param {Array} [opt_ends] Flat coordinate ends for internal use.\n */\n function MultiLineString(coordinates, opt_layout, opt_ends) {\n var _this = _super.call(this) || this;\n /**\n * @type {Array}\n * @private\n */\n _this.ends_ = [];\n /**\n * @private\n * @type {number}\n */\n _this.maxDelta_ = -1;\n /**\n * @private\n * @type {number}\n */\n _this.maxDeltaRevision_ = -1;\n if (Array.isArray(coordinates[0])) {\n _this.setCoordinates(\n /** @type {Array>} */ (coordinates), opt_layout);\n }\n else if (opt_layout !== undefined && opt_ends) {\n _this.setFlatCoordinates(opt_layout, \n /** @type {Array} */ (coordinates));\n _this.ends_ = opt_ends;\n }\n else {\n var layout = _this.getLayout();\n var lineStrings = /** @type {Array} */ (coordinates);\n var flatCoordinates = [];\n var ends = [];\n for (var i = 0, ii = lineStrings.length; i < ii; ++i) {\n var lineString = lineStrings[i];\n if (i === 0) {\n layout = lineString.getLayout();\n }\n extend(flatCoordinates, lineString.getFlatCoordinates());\n ends.push(flatCoordinates.length);\n }\n _this.setFlatCoordinates(layout, flatCoordinates);\n _this.ends_ = ends;\n }\n return _this;\n }\n /**\n * Append the passed linestring to the multilinestring.\n * @param {LineString} lineString LineString.\n * @api\n */\n MultiLineString.prototype.appendLineString = function (lineString) {\n if (!this.flatCoordinates) {\n this.flatCoordinates = lineString.getFlatCoordinates().slice();\n }\n else {\n extend(this.flatCoordinates, lineString.getFlatCoordinates().slice());\n }\n this.ends_.push(this.flatCoordinates.length);\n this.changed();\n };\n /**\n * Make a complete copy of the geometry.\n * @return {!MultiLineString} Clone.\n * @api\n */\n MultiLineString.prototype.clone = function () {\n var multiLineString = new MultiLineString(this.flatCoordinates.slice(), this.layout, this.ends_.slice());\n multiLineString.applyProperties(this);\n return multiLineString;\n };\n /**\n * @param {number} x X.\n * @param {number} y Y.\n * @param {import(\"../coordinate.js\").Coordinate} closestPoint Closest point.\n * @param {number} minSquaredDistance Minimum squared distance.\n * @return {number} Minimum squared distance.\n */\n MultiLineString.prototype.closestPointXY = function (x, y, closestPoint, minSquaredDistance) {\n if (minSquaredDistance < closestSquaredDistanceXY(this.getExtent(), x, y)) {\n return minSquaredDistance;\n }\n if (this.maxDeltaRevision_ != this.getRevision()) {\n this.maxDelta_ = Math.sqrt(arrayMaxSquaredDelta(this.flatCoordinates, 0, this.ends_, this.stride, 0));\n this.maxDeltaRevision_ = this.getRevision();\n }\n return assignClosestArrayPoint(this.flatCoordinates, 0, this.ends_, this.stride, this.maxDelta_, false, x, y, closestPoint, minSquaredDistance);\n };\n /**\n * Returns the coordinate at `m` using linear interpolation, or `null` if no\n * such coordinate exists.\n *\n * `opt_extrapolate` controls extrapolation beyond the range of Ms in the\n * MultiLineString. If `opt_extrapolate` is `true` then Ms less than the first\n * M will return the first coordinate and Ms greater than the last M will\n * return the last coordinate.\n *\n * `opt_interpolate` controls interpolation between consecutive LineStrings\n * within the MultiLineString. If `opt_interpolate` is `true` the coordinates\n * will be linearly interpolated between the last coordinate of one LineString\n * and the first coordinate of the next LineString. If `opt_interpolate` is\n * `false` then the function will return `null` for Ms falling between\n * LineStrings.\n *\n * @param {number} m M.\n * @param {boolean} [opt_extrapolate] Extrapolate. Default is `false`.\n * @param {boolean} [opt_interpolate] Interpolate. Default is `false`.\n * @return {import(\"../coordinate.js\").Coordinate} Coordinate.\n * @api\n */\n MultiLineString.prototype.getCoordinateAtM = function (m, opt_extrapolate, opt_interpolate) {\n if ((this.layout != GeometryLayout.XYM &&\n this.layout != GeometryLayout.XYZM) ||\n this.flatCoordinates.length === 0) {\n return null;\n }\n var extrapolate = opt_extrapolate !== undefined ? opt_extrapolate : false;\n var interpolate = opt_interpolate !== undefined ? opt_interpolate : false;\n return lineStringsCoordinateAtM(this.flatCoordinates, 0, this.ends_, this.stride, m, extrapolate, interpolate);\n };\n /**\n * Return the coordinates of the multilinestring.\n * @return {Array>} Coordinates.\n * @api\n */\n MultiLineString.prototype.getCoordinates = function () {\n return inflateCoordinatesArray(this.flatCoordinates, 0, this.ends_, this.stride);\n };\n /**\n * @return {Array} Ends.\n */\n MultiLineString.prototype.getEnds = function () {\n return this.ends_;\n };\n /**\n * Return the linestring at the specified index.\n * @param {number} index Index.\n * @return {LineString} LineString.\n * @api\n */\n MultiLineString.prototype.getLineString = function (index) {\n if (index < 0 || this.ends_.length <= index) {\n return null;\n }\n return new LineString(this.flatCoordinates.slice(index === 0 ? 0 : this.ends_[index - 1], this.ends_[index]), this.layout);\n };\n /**\n * Return the linestrings of this multilinestring.\n * @return {Array} LineStrings.\n * @api\n */\n MultiLineString.prototype.getLineStrings = function () {\n var flatCoordinates = this.flatCoordinates;\n var ends = this.ends_;\n var layout = this.layout;\n /** @type {Array} */\n var lineStrings = [];\n var offset = 0;\n for (var i = 0, ii = ends.length; i < ii; ++i) {\n var end = ends[i];\n var lineString = new LineString(flatCoordinates.slice(offset, end), layout);\n lineStrings.push(lineString);\n offset = end;\n }\n return lineStrings;\n };\n /**\n * @return {Array} Flat midpoints.\n */\n MultiLineString.prototype.getFlatMidpoints = function () {\n var midpoints = [];\n var flatCoordinates = this.flatCoordinates;\n var offset = 0;\n var ends = this.ends_;\n var stride = this.stride;\n for (var i = 0, ii = ends.length; i < ii; ++i) {\n var end = ends[i];\n var midpoint = interpolatePoint(flatCoordinates, offset, end, stride, 0.5);\n extend(midpoints, midpoint);\n offset = end;\n }\n return midpoints;\n };\n /**\n * @param {number} squaredTolerance Squared tolerance.\n * @return {MultiLineString} Simplified MultiLineString.\n * @protected\n */\n MultiLineString.prototype.getSimplifiedGeometryInternal = function (squaredTolerance) {\n var simplifiedFlatCoordinates = [];\n var simplifiedEnds = [];\n simplifiedFlatCoordinates.length = douglasPeuckerArray(this.flatCoordinates, 0, this.ends_, this.stride, squaredTolerance, simplifiedFlatCoordinates, 0, simplifiedEnds);\n return new MultiLineString(simplifiedFlatCoordinates, GeometryLayout.XY, simplifiedEnds);\n };\n /**\n * Get the type of this geometry.\n * @return {import(\"./GeometryType.js\").default} Geometry type.\n * @api\n */\n MultiLineString.prototype.getType = function () {\n return GeometryType.MULTI_LINE_STRING;\n };\n /**\n * Test if the geometry and the passed extent intersect.\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @return {boolean} `true` if the geometry and the extent intersect.\n * @api\n */\n MultiLineString.prototype.intersectsExtent = function (extent) {\n return intersectsLineStringArray(this.flatCoordinates, 0, this.ends_, this.stride, extent);\n };\n /**\n * Set the coordinates of the multilinestring.\n * @param {!Array>} coordinates Coordinates.\n * @param {GeometryLayout} [opt_layout] Layout.\n * @api\n */\n MultiLineString.prototype.setCoordinates = function (coordinates, opt_layout) {\n this.setLayout(opt_layout, coordinates, 2);\n if (!this.flatCoordinates) {\n this.flatCoordinates = [];\n }\n var ends = deflateCoordinatesArray(this.flatCoordinates, 0, coordinates, this.stride, this.ends_);\n this.flatCoordinates.length = ends.length === 0 ? 0 : ends[ends.length - 1];\n this.changed();\n };\n return MultiLineString;\n}(SimpleGeometry));\nexport default MultiLineString;\n//# sourceMappingURL=MultiLineString.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/geom/MultiPoint\n */\nimport GeometryType from './GeometryType.js';\nimport Point from './Point.js';\nimport SimpleGeometry from './SimpleGeometry.js';\nimport { closestSquaredDistanceXY, containsXY } from '../extent.js';\nimport { deflateCoordinates } from './flat/deflate.js';\nimport { extend } from '../array.js';\nimport { inflateCoordinates } from './flat/inflate.js';\nimport { squaredDistance as squaredDx } from '../math.js';\n/**\n * @classdesc\n * Multi-point geometry.\n *\n * @api\n */\nvar MultiPoint = /** @class */ (function (_super) {\n __extends(MultiPoint, _super);\n /**\n * @param {Array|Array} coordinates Coordinates.\n * For internal use, flat coordinates in combination with `opt_layout` are also accepted.\n * @param {import(\"./GeometryLayout.js\").default} [opt_layout] Layout.\n */\n function MultiPoint(coordinates, opt_layout) {\n var _this = _super.call(this) || this;\n if (opt_layout && !Array.isArray(coordinates[0])) {\n _this.setFlatCoordinates(opt_layout, \n /** @type {Array} */ (coordinates));\n }\n else {\n _this.setCoordinates(\n /** @type {Array} */ (coordinates), opt_layout);\n }\n return _this;\n }\n /**\n * Append the passed point to this multipoint.\n * @param {Point} point Point.\n * @api\n */\n MultiPoint.prototype.appendPoint = function (point) {\n if (!this.flatCoordinates) {\n this.flatCoordinates = point.getFlatCoordinates().slice();\n }\n else {\n extend(this.flatCoordinates, point.getFlatCoordinates());\n }\n this.changed();\n };\n /**\n * Make a complete copy of the geometry.\n * @return {!MultiPoint} Clone.\n * @api\n */\n MultiPoint.prototype.clone = function () {\n var multiPoint = new MultiPoint(this.flatCoordinates.slice(), this.layout);\n multiPoint.applyProperties(this);\n return multiPoint;\n };\n /**\n * @param {number} x X.\n * @param {number} y Y.\n * @param {import(\"../coordinate.js\").Coordinate} closestPoint Closest point.\n * @param {number} minSquaredDistance Minimum squared distance.\n * @return {number} Minimum squared distance.\n */\n MultiPoint.prototype.closestPointXY = function (x, y, closestPoint, minSquaredDistance) {\n if (minSquaredDistance < closestSquaredDistanceXY(this.getExtent(), x, y)) {\n return minSquaredDistance;\n }\n var flatCoordinates = this.flatCoordinates;\n var stride = this.stride;\n for (var i = 0, ii = flatCoordinates.length; i < ii; i += stride) {\n var squaredDistance = squaredDx(x, y, flatCoordinates[i], flatCoordinates[i + 1]);\n if (squaredDistance < minSquaredDistance) {\n minSquaredDistance = squaredDistance;\n for (var j = 0; j < stride; ++j) {\n closestPoint[j] = flatCoordinates[i + j];\n }\n closestPoint.length = stride;\n }\n }\n return minSquaredDistance;\n };\n /**\n * Return the coordinates of the multipoint.\n * @return {Array} Coordinates.\n * @api\n */\n MultiPoint.prototype.getCoordinates = function () {\n return inflateCoordinates(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride);\n };\n /**\n * Return the point at the specified index.\n * @param {number} index Index.\n * @return {Point} Point.\n * @api\n */\n MultiPoint.prototype.getPoint = function (index) {\n var n = !this.flatCoordinates\n ? 0\n : this.flatCoordinates.length / this.stride;\n if (index < 0 || n <= index) {\n return null;\n }\n return new Point(this.flatCoordinates.slice(index * this.stride, (index + 1) * this.stride), this.layout);\n };\n /**\n * Return the points of this multipoint.\n * @return {Array} Points.\n * @api\n */\n MultiPoint.prototype.getPoints = function () {\n var flatCoordinates = this.flatCoordinates;\n var layout = this.layout;\n var stride = this.stride;\n /** @type {Array} */\n var points = [];\n for (var i = 0, ii = flatCoordinates.length; i < ii; i += stride) {\n var point = new Point(flatCoordinates.slice(i, i + stride), layout);\n points.push(point);\n }\n return points;\n };\n /**\n * Get the type of this geometry.\n * @return {import(\"./GeometryType.js\").default} Geometry type.\n * @api\n */\n MultiPoint.prototype.getType = function () {\n return GeometryType.MULTI_POINT;\n };\n /**\n * Test if the geometry and the passed extent intersect.\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @return {boolean} `true` if the geometry and the extent intersect.\n * @api\n */\n MultiPoint.prototype.intersectsExtent = function (extent) {\n var flatCoordinates = this.flatCoordinates;\n var stride = this.stride;\n for (var i = 0, ii = flatCoordinates.length; i < ii; i += stride) {\n var x = flatCoordinates[i];\n var y = flatCoordinates[i + 1];\n if (containsXY(extent, x, y)) {\n return true;\n }\n }\n return false;\n };\n /**\n * Set the coordinates of the multipoint.\n * @param {!Array} coordinates Coordinates.\n * @param {import(\"./GeometryLayout.js\").default} [opt_layout] Layout.\n * @api\n */\n MultiPoint.prototype.setCoordinates = function (coordinates, opt_layout) {\n this.setLayout(opt_layout, coordinates, 1);\n if (!this.flatCoordinates) {\n this.flatCoordinates = [];\n }\n this.flatCoordinates.length = deflateCoordinates(this.flatCoordinates, 0, coordinates, this.stride);\n this.changed();\n };\n return MultiPoint;\n}(SimpleGeometry));\nexport default MultiPoint;\n//# sourceMappingURL=MultiPoint.js.map","/**\n * @module ol/geom/flat/center\n */\nimport { createEmpty, createOrUpdateFromFlatCoordinates } from '../../extent.js';\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array>} endss Endss.\n * @param {number} stride Stride.\n * @return {Array} Flat centers.\n */\nexport function linearRingss(flatCoordinates, offset, endss, stride) {\n var flatCenters = [];\n var extent = createEmpty();\n for (var i = 0, ii = endss.length; i < ii; ++i) {\n var ends = endss[i];\n extent = createOrUpdateFromFlatCoordinates(flatCoordinates, offset, ends[0], stride);\n flatCenters.push((extent[0] + extent[2]) / 2, (extent[1] + extent[3]) / 2);\n offset = ends[ends.length - 1];\n }\n return flatCenters;\n}\n//# sourceMappingURL=center.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/geom/MultiPolygon\n */\nimport GeometryLayout from './GeometryLayout.js';\nimport GeometryType from './GeometryType.js';\nimport MultiPoint from './MultiPoint.js';\nimport Polygon from './Polygon.js';\nimport SimpleGeometry from './SimpleGeometry.js';\nimport { assignClosestMultiArrayPoint, multiArrayMaxSquaredDelta, } from './flat/closest.js';\nimport { closestSquaredDistanceXY } from '../extent.js';\nimport { deflateMultiCoordinatesArray } from './flat/deflate.js';\nimport { extend } from '../array.js';\nimport { getInteriorPointsOfMultiArray } from './flat/interiorpoint.js';\nimport { inflateMultiCoordinatesArray } from './flat/inflate.js';\nimport { intersectsLinearRingMultiArray } from './flat/intersectsextent.js';\nimport { linearRingssAreOriented, orientLinearRingsArray, } from './flat/orient.js';\nimport { linearRingss as linearRingssArea } from './flat/area.js';\nimport { linearRingss as linearRingssCenter } from './flat/center.js';\nimport { linearRingssContainsXY } from './flat/contains.js';\nimport { quantizeMultiArray } from './flat/simplify.js';\n/**\n * @classdesc\n * Multi-polygon geometry.\n *\n * @api\n */\nvar MultiPolygon = /** @class */ (function (_super) {\n __extends(MultiPolygon, _super);\n /**\n * @param {Array>|Polygon>|Array} coordinates Coordinates.\n * For internal use, flat coordinates in combination with `opt_layout` and `opt_endss` are also accepted.\n * @param {import(\"./GeometryLayout.js\").default} [opt_layout] Layout.\n * @param {Array>} [opt_endss] Array of ends for internal use with flat coordinates.\n */\n function MultiPolygon(coordinates, opt_layout, opt_endss) {\n var _this = _super.call(this) || this;\n /**\n * @type {Array>}\n * @private\n */\n _this.endss_ = [];\n /**\n * @private\n * @type {number}\n */\n _this.flatInteriorPointsRevision_ = -1;\n /**\n * @private\n * @type {Array}\n */\n _this.flatInteriorPoints_ = null;\n /**\n * @private\n * @type {number}\n */\n _this.maxDelta_ = -1;\n /**\n * @private\n * @type {number}\n */\n _this.maxDeltaRevision_ = -1;\n /**\n * @private\n * @type {number}\n */\n _this.orientedRevision_ = -1;\n /**\n * @private\n * @type {Array}\n */\n _this.orientedFlatCoordinates_ = null;\n if (!opt_endss && !Array.isArray(coordinates[0])) {\n var layout = _this.getLayout();\n var polygons = /** @type {Array} */ (coordinates);\n var flatCoordinates = [];\n var endss = [];\n for (var i = 0, ii = polygons.length; i < ii; ++i) {\n var polygon = polygons[i];\n if (i === 0) {\n layout = polygon.getLayout();\n }\n var offset = flatCoordinates.length;\n var ends = polygon.getEnds();\n for (var j = 0, jj = ends.length; j < jj; ++j) {\n ends[j] += offset;\n }\n extend(flatCoordinates, polygon.getFlatCoordinates());\n endss.push(ends);\n }\n opt_layout = layout;\n coordinates = flatCoordinates;\n opt_endss = endss;\n }\n if (opt_layout !== undefined && opt_endss) {\n _this.setFlatCoordinates(opt_layout, \n /** @type {Array} */ (coordinates));\n _this.endss_ = opt_endss;\n }\n else {\n _this.setCoordinates(\n /** @type {Array>>} */ (coordinates), opt_layout);\n }\n return _this;\n }\n /**\n * Append the passed polygon to this multipolygon.\n * @param {Polygon} polygon Polygon.\n * @api\n */\n MultiPolygon.prototype.appendPolygon = function (polygon) {\n /** @type {Array} */\n var ends;\n if (!this.flatCoordinates) {\n this.flatCoordinates = polygon.getFlatCoordinates().slice();\n ends = polygon.getEnds().slice();\n this.endss_.push();\n }\n else {\n var offset = this.flatCoordinates.length;\n extend(this.flatCoordinates, polygon.getFlatCoordinates());\n ends = polygon.getEnds().slice();\n for (var i = 0, ii = ends.length; i < ii; ++i) {\n ends[i] += offset;\n }\n }\n this.endss_.push(ends);\n this.changed();\n };\n /**\n * Make a complete copy of the geometry.\n * @return {!MultiPolygon} Clone.\n * @api\n */\n MultiPolygon.prototype.clone = function () {\n var len = this.endss_.length;\n var newEndss = new Array(len);\n for (var i = 0; i < len; ++i) {\n newEndss[i] = this.endss_[i].slice();\n }\n var multiPolygon = new MultiPolygon(this.flatCoordinates.slice(), this.layout, newEndss);\n multiPolygon.applyProperties(this);\n return multiPolygon;\n };\n /**\n * @param {number} x X.\n * @param {number} y Y.\n * @param {import(\"../coordinate.js\").Coordinate} closestPoint Closest point.\n * @param {number} minSquaredDistance Minimum squared distance.\n * @return {number} Minimum squared distance.\n */\n MultiPolygon.prototype.closestPointXY = function (x, y, closestPoint, minSquaredDistance) {\n if (minSquaredDistance < closestSquaredDistanceXY(this.getExtent(), x, y)) {\n return minSquaredDistance;\n }\n if (this.maxDeltaRevision_ != this.getRevision()) {\n this.maxDelta_ = Math.sqrt(multiArrayMaxSquaredDelta(this.flatCoordinates, 0, this.endss_, this.stride, 0));\n this.maxDeltaRevision_ = this.getRevision();\n }\n return assignClosestMultiArrayPoint(this.getOrientedFlatCoordinates(), 0, this.endss_, this.stride, this.maxDelta_, true, x, y, closestPoint, minSquaredDistance);\n };\n /**\n * @param {number} x X.\n * @param {number} y Y.\n * @return {boolean} Contains (x, y).\n */\n MultiPolygon.prototype.containsXY = function (x, y) {\n return linearRingssContainsXY(this.getOrientedFlatCoordinates(), 0, this.endss_, this.stride, x, y);\n };\n /**\n * Return the area of the multipolygon on projected plane.\n * @return {number} Area (on projected plane).\n * @api\n */\n MultiPolygon.prototype.getArea = function () {\n return linearRingssArea(this.getOrientedFlatCoordinates(), 0, this.endss_, this.stride);\n };\n /**\n * Get the coordinate array for this geometry. This array has the structure\n * of a GeoJSON coordinate array for multi-polygons.\n *\n * @param {boolean} [opt_right] Orient coordinates according to the right-hand\n * rule (counter-clockwise for exterior and clockwise for interior rings).\n * If `false`, coordinates will be oriented according to the left-hand rule\n * (clockwise for exterior and counter-clockwise for interior rings).\n * By default, coordinate orientation will depend on how the geometry was\n * constructed.\n * @return {Array>>} Coordinates.\n * @api\n */\n MultiPolygon.prototype.getCoordinates = function (opt_right) {\n var flatCoordinates;\n if (opt_right !== undefined) {\n flatCoordinates = this.getOrientedFlatCoordinates().slice();\n orientLinearRingsArray(flatCoordinates, 0, this.endss_, this.stride, opt_right);\n }\n else {\n flatCoordinates = this.flatCoordinates;\n }\n return inflateMultiCoordinatesArray(flatCoordinates, 0, this.endss_, this.stride);\n };\n /**\n * @return {Array>} Endss.\n */\n MultiPolygon.prototype.getEndss = function () {\n return this.endss_;\n };\n /**\n * @return {Array} Flat interior points.\n */\n MultiPolygon.prototype.getFlatInteriorPoints = function () {\n if (this.flatInteriorPointsRevision_ != this.getRevision()) {\n var flatCenters = linearRingssCenter(this.flatCoordinates, 0, this.endss_, this.stride);\n this.flatInteriorPoints_ = getInteriorPointsOfMultiArray(this.getOrientedFlatCoordinates(), 0, this.endss_, this.stride, flatCenters);\n this.flatInteriorPointsRevision_ = this.getRevision();\n }\n return this.flatInteriorPoints_;\n };\n /**\n * Return the interior points as {@link module:ol/geom/MultiPoint multipoint}.\n * @return {MultiPoint} Interior points as XYM coordinates, where M is\n * the length of the horizontal intersection that the point belongs to.\n * @api\n */\n MultiPolygon.prototype.getInteriorPoints = function () {\n return new MultiPoint(this.getFlatInteriorPoints().slice(), GeometryLayout.XYM);\n };\n /**\n * @return {Array} Oriented flat coordinates.\n */\n MultiPolygon.prototype.getOrientedFlatCoordinates = function () {\n if (this.orientedRevision_ != this.getRevision()) {\n var flatCoordinates = this.flatCoordinates;\n if (linearRingssAreOriented(flatCoordinates, 0, this.endss_, this.stride)) {\n this.orientedFlatCoordinates_ = flatCoordinates;\n }\n else {\n this.orientedFlatCoordinates_ = flatCoordinates.slice();\n this.orientedFlatCoordinates_.length = orientLinearRingsArray(this.orientedFlatCoordinates_, 0, this.endss_, this.stride);\n }\n this.orientedRevision_ = this.getRevision();\n }\n return this.orientedFlatCoordinates_;\n };\n /**\n * @param {number} squaredTolerance Squared tolerance.\n * @return {MultiPolygon} Simplified MultiPolygon.\n * @protected\n */\n MultiPolygon.prototype.getSimplifiedGeometryInternal = function (squaredTolerance) {\n var simplifiedFlatCoordinates = [];\n var simplifiedEndss = [];\n simplifiedFlatCoordinates.length = quantizeMultiArray(this.flatCoordinates, 0, this.endss_, this.stride, Math.sqrt(squaredTolerance), simplifiedFlatCoordinates, 0, simplifiedEndss);\n return new MultiPolygon(simplifiedFlatCoordinates, GeometryLayout.XY, simplifiedEndss);\n };\n /**\n * Return the polygon at the specified index.\n * @param {number} index Index.\n * @return {Polygon} Polygon.\n * @api\n */\n MultiPolygon.prototype.getPolygon = function (index) {\n if (index < 0 || this.endss_.length <= index) {\n return null;\n }\n var offset;\n if (index === 0) {\n offset = 0;\n }\n else {\n var prevEnds = this.endss_[index - 1];\n offset = prevEnds[prevEnds.length - 1];\n }\n var ends = this.endss_[index].slice();\n var end = ends[ends.length - 1];\n if (offset !== 0) {\n for (var i = 0, ii = ends.length; i < ii; ++i) {\n ends[i] -= offset;\n }\n }\n return new Polygon(this.flatCoordinates.slice(offset, end), this.layout, ends);\n };\n /**\n * Return the polygons of this multipolygon.\n * @return {Array} Polygons.\n * @api\n */\n MultiPolygon.prototype.getPolygons = function () {\n var layout = this.layout;\n var flatCoordinates = this.flatCoordinates;\n var endss = this.endss_;\n var polygons = [];\n var offset = 0;\n for (var i = 0, ii = endss.length; i < ii; ++i) {\n var ends = endss[i].slice();\n var end = ends[ends.length - 1];\n if (offset !== 0) {\n for (var j = 0, jj = ends.length; j < jj; ++j) {\n ends[j] -= offset;\n }\n }\n var polygon = new Polygon(flatCoordinates.slice(offset, end), layout, ends);\n polygons.push(polygon);\n offset = end;\n }\n return polygons;\n };\n /**\n * Get the type of this geometry.\n * @return {import(\"./GeometryType.js\").default} Geometry type.\n * @api\n */\n MultiPolygon.prototype.getType = function () {\n return GeometryType.MULTI_POLYGON;\n };\n /**\n * Test if the geometry and the passed extent intersect.\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @return {boolean} `true` if the geometry and the extent intersect.\n * @api\n */\n MultiPolygon.prototype.intersectsExtent = function (extent) {\n return intersectsLinearRingMultiArray(this.getOrientedFlatCoordinates(), 0, this.endss_, this.stride, extent);\n };\n /**\n * Set the coordinates of the multipolygon.\n * @param {!Array>>} coordinates Coordinates.\n * @param {import(\"./GeometryLayout.js\").default} [opt_layout] Layout.\n * @api\n */\n MultiPolygon.prototype.setCoordinates = function (coordinates, opt_layout) {\n this.setLayout(opt_layout, coordinates, 3);\n if (!this.flatCoordinates) {\n this.flatCoordinates = [];\n }\n var endss = deflateMultiCoordinatesArray(this.flatCoordinates, 0, coordinates, this.stride, this.endss_);\n if (endss.length === 0) {\n this.flatCoordinates.length = 0;\n }\n else {\n var lastEnds = endss[endss.length - 1];\n this.flatCoordinates.length =\n lastEnds.length === 0 ? 0 : lastEnds[lastEnds.length - 1];\n }\n this.changed();\n };\n return MultiPolygon;\n}(SimpleGeometry));\nexport default MultiPolygon;\n//# sourceMappingURL=MultiPolygon.js.map","/**\n * @module ol/format/GeoJSON\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport Feature from '../Feature.js';\nimport GeometryCollection from '../geom/GeometryCollection.js';\nimport GeometryType from '../geom/GeometryType.js';\nimport JSONFeature from './JSONFeature.js';\nimport LineString from '../geom/LineString.js';\nimport MultiLineString from '../geom/MultiLineString.js';\nimport MultiPoint from '../geom/MultiPoint.js';\nimport MultiPolygon from '../geom/MultiPolygon.js';\nimport Point from '../geom/Point.js';\nimport Polygon from '../geom/Polygon.js';\nimport { assert } from '../asserts.js';\nimport { assign, isEmpty } from '../obj.js';\nimport { get as getProjection } from '../proj.js';\nimport { transformGeometryWithOptions } from './Feature.js';\n/**\n * @typedef {import(\"geojson\").GeoJSON} GeoJSONObject\n * @typedef {import(\"geojson\").Feature} GeoJSONFeature\n * @typedef {import(\"geojson\").FeatureCollection} GeoJSONFeatureCollection\n * @typedef {import(\"geojson\").Geometry} GeoJSONGeometry\n * @typedef {import(\"geojson\").Point} GeoJSONPoint\n * @typedef {import(\"geojson\").LineString} GeoJSONLineString\n * @typedef {import(\"geojson\").Polygon} GeoJSONPolygon\n * @typedef {import(\"geojson\").MultiPoint} GeoJSONMultiPoint\n * @typedef {import(\"geojson\").MultiLineString} GeoJSONMultiLineString\n * @typedef {import(\"geojson\").MultiPolygon} GeoJSONMultiPolygon\n * @typedef {import(\"geojson\").GeometryCollection} GeoJSONGeometryCollection\n */\n/**\n * @typedef {Object} Options\n * @property {import(\"../proj.js\").ProjectionLike} [dataProjection='EPSG:4326'] Default data projection.\n * @property {import(\"../proj.js\").ProjectionLike} [featureProjection] Projection for features read or\n * written by the format. Options passed to read or write methods will take precedence.\n * @property {string} [geometryName] Geometry name to use when creating features.\n * @property {boolean} [extractGeometryName=false] Certain GeoJSON providers include\n * the geometry_name field in the feature GeoJSON. If set to `true` the GeoJSON reader\n * will look for that field to set the geometry name. If both this field is set to `true`\n * and a `geometryName` is provided, the `geometryName` will take precedence.\n */\n/**\n * @classdesc\n * Feature format for reading and writing data in the GeoJSON format.\n *\n * @api\n */\nvar GeoJSON = /** @class */ (function (_super) {\n __extends(GeoJSON, _super);\n /**\n * @param {Options} [opt_options] Options.\n */\n function GeoJSON(opt_options) {\n var _this = this;\n var options = opt_options ? opt_options : {};\n _this = _super.call(this) || this;\n /**\n * @type {import(\"../proj/Projection.js\").default}\n */\n _this.dataProjection = getProjection(options.dataProjection ? options.dataProjection : 'EPSG:4326');\n if (options.featureProjection) {\n _this.defaultFeatureProjection = getProjection(options.featureProjection);\n }\n /**\n * Name of the geometry attribute for features.\n * @type {string|undefined}\n * @private\n */\n _this.geometryName_ = options.geometryName;\n /**\n * Look for the geometry name in the feature GeoJSON\n * @type {boolean|undefined}\n * @private\n */\n _this.extractGeometryName_ = options.extractGeometryName;\n _this.supportedMediaTypes = [\n 'application/geo+json',\n 'application/vnd.geo+json',\n ];\n return _this;\n }\n /**\n * @param {Object} object Object.\n * @param {import(\"./Feature.js\").ReadOptions} [opt_options] Read options.\n * @protected\n * @return {import(\"../Feature.js\").default} Feature.\n */\n GeoJSON.prototype.readFeatureFromObject = function (object, opt_options) {\n /**\n * @type {GeoJSONFeature}\n */\n var geoJSONFeature = null;\n if (object['type'] === 'Feature') {\n geoJSONFeature = /** @type {GeoJSONFeature} */ (object);\n }\n else {\n geoJSONFeature = {\n 'type': 'Feature',\n 'geometry': /** @type {GeoJSONGeometry} */ (object),\n 'properties': null,\n };\n }\n var geometry = readGeometry(geoJSONFeature['geometry'], opt_options);\n var feature = new Feature();\n if (this.geometryName_) {\n feature.setGeometryName(this.geometryName_);\n }\n else if (this.extractGeometryName_ &&\n 'geometry_name' in geoJSONFeature !== undefined) {\n feature.setGeometryName(geoJSONFeature['geometry_name']);\n }\n feature.setGeometry(geometry);\n if ('id' in geoJSONFeature) {\n feature.setId(geoJSONFeature['id']);\n }\n if (geoJSONFeature['properties']) {\n feature.setProperties(geoJSONFeature['properties'], true);\n }\n return feature;\n };\n /**\n * @param {Object} object Object.\n * @param {import(\"./Feature.js\").ReadOptions} [opt_options] Read options.\n * @protected\n * @return {Array} Features.\n */\n GeoJSON.prototype.readFeaturesFromObject = function (object, opt_options) {\n var geoJSONObject = /** @type {GeoJSONObject} */ (object);\n /** @type {Array} */\n var features = null;\n if (geoJSONObject['type'] === 'FeatureCollection') {\n var geoJSONFeatureCollection = /** @type {GeoJSONFeatureCollection} */ (object);\n features = [];\n var geoJSONFeatures = geoJSONFeatureCollection['features'];\n for (var i = 0, ii = geoJSONFeatures.length; i < ii; ++i) {\n features.push(this.readFeatureFromObject(geoJSONFeatures[i], opt_options));\n }\n }\n else {\n features = [this.readFeatureFromObject(object, opt_options)];\n }\n return features;\n };\n /**\n * @param {GeoJSONGeometry} object Object.\n * @param {import(\"./Feature.js\").ReadOptions} [opt_options] Read options.\n * @protected\n * @return {import(\"../geom/Geometry.js\").default} Geometry.\n */\n GeoJSON.prototype.readGeometryFromObject = function (object, opt_options) {\n return readGeometry(object, opt_options);\n };\n /**\n * @param {Object} object Object.\n * @protected\n * @return {import(\"../proj/Projection.js\").default} Projection.\n */\n GeoJSON.prototype.readProjectionFromObject = function (object) {\n var crs = object['crs'];\n var projection;\n if (crs) {\n if (crs['type'] == 'name') {\n projection = getProjection(crs['properties']['name']);\n }\n else if (crs['type'] === 'EPSG') {\n projection = getProjection('EPSG:' + crs['properties']['code']);\n }\n else {\n assert(false, 36); // Unknown SRS type\n }\n }\n else {\n projection = this.dataProjection;\n }\n return /** @type {import(\"../proj/Projection.js\").default} */ (projection);\n };\n /**\n * Encode a feature as a GeoJSON Feature object.\n *\n * @param {import(\"../Feature.js\").default} feature Feature.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @return {GeoJSONFeature} Object.\n * @api\n */\n GeoJSON.prototype.writeFeatureObject = function (feature, opt_options) {\n opt_options = this.adaptOptions(opt_options);\n /** @type {GeoJSONFeature} */\n var object = {\n 'type': 'Feature',\n geometry: null,\n properties: null,\n };\n var id = feature.getId();\n if (id !== undefined) {\n object.id = id;\n }\n if (!feature.hasProperties()) {\n return object;\n }\n var properties = feature.getProperties();\n var geometry = feature.getGeometry();\n if (geometry) {\n object.geometry = writeGeometry(geometry, opt_options);\n delete properties[feature.getGeometryName()];\n }\n if (!isEmpty(properties)) {\n object.properties = properties;\n }\n return object;\n };\n /**\n * Encode an array of features as a GeoJSON object.\n *\n * @param {Array} features Features.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @return {GeoJSONFeatureCollection} GeoJSON Object.\n * @api\n */\n GeoJSON.prototype.writeFeaturesObject = function (features, opt_options) {\n opt_options = this.adaptOptions(opt_options);\n var objects = [];\n for (var i = 0, ii = features.length; i < ii; ++i) {\n objects.push(this.writeFeatureObject(features[i], opt_options));\n }\n return {\n type: 'FeatureCollection',\n features: objects,\n };\n };\n /**\n * Encode a geometry as a GeoJSON object.\n *\n * @param {import(\"../geom/Geometry.js\").default} geometry Geometry.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @return {GeoJSONGeometry|GeoJSONGeometryCollection} Object.\n * @api\n */\n GeoJSON.prototype.writeGeometryObject = function (geometry, opt_options) {\n return writeGeometry(geometry, this.adaptOptions(opt_options));\n };\n return GeoJSON;\n}(JSONFeature));\n/**\n * @param {GeoJSONGeometry|GeoJSONGeometryCollection} object Object.\n * @param {import(\"./Feature.js\").ReadOptions} [opt_options] Read options.\n * @return {import(\"../geom/Geometry.js\").default} Geometry.\n */\nfunction readGeometry(object, opt_options) {\n if (!object) {\n return null;\n }\n /**\n * @type {import(\"../geom/Geometry.js\").default}\n */\n var geometry;\n switch (object['type']) {\n case GeometryType.POINT: {\n geometry = readPointGeometry(/** @type {GeoJSONPoint} */ (object));\n break;\n }\n case GeometryType.LINE_STRING: {\n geometry = readLineStringGeometry(\n /** @type {GeoJSONLineString} */ (object));\n break;\n }\n case GeometryType.POLYGON: {\n geometry = readPolygonGeometry(/** @type {GeoJSONPolygon} */ (object));\n break;\n }\n case GeometryType.MULTI_POINT: {\n geometry = readMultiPointGeometry(\n /** @type {GeoJSONMultiPoint} */ (object));\n break;\n }\n case GeometryType.MULTI_LINE_STRING: {\n geometry = readMultiLineStringGeometry(\n /** @type {GeoJSONMultiLineString} */ (object));\n break;\n }\n case GeometryType.MULTI_POLYGON: {\n geometry = readMultiPolygonGeometry(\n /** @type {GeoJSONMultiPolygon} */ (object));\n break;\n }\n case GeometryType.GEOMETRY_COLLECTION: {\n geometry = readGeometryCollectionGeometry(\n /** @type {GeoJSONGeometryCollection} */ (object));\n break;\n }\n default: {\n throw new Error('Unsupported GeoJSON type: ' + object.type);\n }\n }\n return transformGeometryWithOptions(geometry, false, opt_options);\n}\n/**\n * @param {GeoJSONGeometryCollection} object Object.\n * @param {import(\"./Feature.js\").ReadOptions} [opt_options] Read options.\n * @return {GeometryCollection} Geometry collection.\n */\nfunction readGeometryCollectionGeometry(object, opt_options) {\n var geometries = object['geometries'].map(\n /**\n * @param {GeoJSONGeometry} geometry Geometry.\n * @return {import(\"../geom/Geometry.js\").default} geometry Geometry.\n */\n function (geometry) {\n return readGeometry(geometry, opt_options);\n });\n return new GeometryCollection(geometries);\n}\n/**\n * @param {GeoJSONPoint} object Object.\n * @return {Point} Point.\n */\nfunction readPointGeometry(object) {\n return new Point(object['coordinates']);\n}\n/**\n * @param {GeoJSONLineString} object Object.\n * @return {LineString} LineString.\n */\nfunction readLineStringGeometry(object) {\n return new LineString(object['coordinates']);\n}\n/**\n * @param {GeoJSONMultiLineString} object Object.\n * @return {MultiLineString} MultiLineString.\n */\nfunction readMultiLineStringGeometry(object) {\n return new MultiLineString(object['coordinates']);\n}\n/**\n * @param {GeoJSONMultiPoint} object Object.\n * @return {MultiPoint} MultiPoint.\n */\nfunction readMultiPointGeometry(object) {\n return new MultiPoint(object['coordinates']);\n}\n/**\n * @param {GeoJSONMultiPolygon} object Object.\n * @return {MultiPolygon} MultiPolygon.\n */\nfunction readMultiPolygonGeometry(object) {\n return new MultiPolygon(object['coordinates']);\n}\n/**\n * @param {GeoJSONPolygon} object Object.\n * @return {Polygon} Polygon.\n */\nfunction readPolygonGeometry(object) {\n return new Polygon(object['coordinates']);\n}\n/**\n * @param {import(\"../geom/Geometry.js\").default} geometry Geometry.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @return {GeoJSONGeometry} GeoJSON geometry.\n */\nfunction writeGeometry(geometry, opt_options) {\n geometry = transformGeometryWithOptions(geometry, true, opt_options);\n var type = geometry.getType();\n /** @type {GeoJSONGeometry} */\n var geoJSON;\n switch (type) {\n case GeometryType.POINT: {\n geoJSON = writePointGeometry(\n /** @type {Point} */ (geometry), opt_options);\n break;\n }\n case GeometryType.LINE_STRING: {\n geoJSON = writeLineStringGeometry(\n /** @type {LineString} */ (geometry), opt_options);\n break;\n }\n case GeometryType.POLYGON: {\n geoJSON = writePolygonGeometry(\n /** @type {Polygon} */ (geometry), opt_options);\n break;\n }\n case GeometryType.MULTI_POINT: {\n geoJSON = writeMultiPointGeometry(\n /** @type {MultiPoint} */ (geometry), opt_options);\n break;\n }\n case GeometryType.MULTI_LINE_STRING: {\n geoJSON = writeMultiLineStringGeometry(\n /** @type {MultiLineString} */ (geometry), opt_options);\n break;\n }\n case GeometryType.MULTI_POLYGON: {\n geoJSON = writeMultiPolygonGeometry(\n /** @type {MultiPolygon} */ (geometry), opt_options);\n break;\n }\n case GeometryType.GEOMETRY_COLLECTION: {\n geoJSON = writeGeometryCollectionGeometry(\n /** @type {GeometryCollection} */ (geometry), opt_options);\n break;\n }\n case GeometryType.CIRCLE: {\n geoJSON = {\n type: 'GeometryCollection',\n geometries: [],\n };\n break;\n }\n default: {\n throw new Error('Unsupported geometry type: ' + type);\n }\n }\n return geoJSON;\n}\n/**\n * @param {GeometryCollection} geometry Geometry.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @return {GeoJSONGeometryCollection} GeoJSON geometry collection.\n */\nfunction writeGeometryCollectionGeometry(geometry, opt_options) {\n var geometries = geometry.getGeometriesArray().map(function (geometry) {\n var options = assign({}, opt_options);\n delete options.featureProjection;\n return writeGeometry(geometry, options);\n });\n return {\n type: 'GeometryCollection',\n geometries: geometries,\n };\n}\n/**\n * @param {LineString} geometry Geometry.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @return {GeoJSONGeometry} GeoJSON geometry.\n */\nfunction writeLineStringGeometry(geometry, opt_options) {\n return {\n type: 'LineString',\n coordinates: geometry.getCoordinates(),\n };\n}\n/**\n * @param {MultiLineString} geometry Geometry.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @return {GeoJSONGeometry} GeoJSON geometry.\n */\nfunction writeMultiLineStringGeometry(geometry, opt_options) {\n return {\n type: 'MultiLineString',\n coordinates: geometry.getCoordinates(),\n };\n}\n/**\n * @param {MultiPoint} geometry Geometry.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @return {GeoJSONGeometry} GeoJSON geometry.\n */\nfunction writeMultiPointGeometry(geometry, opt_options) {\n return {\n type: 'MultiPoint',\n coordinates: geometry.getCoordinates(),\n };\n}\n/**\n * @param {MultiPolygon} geometry Geometry.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @return {GeoJSONGeometry} GeoJSON geometry.\n */\nfunction writeMultiPolygonGeometry(geometry, opt_options) {\n var right;\n if (opt_options) {\n right = opt_options.rightHanded;\n }\n return {\n type: 'MultiPolygon',\n coordinates: geometry.getCoordinates(right),\n };\n}\n/**\n * @param {Point} geometry Geometry.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @return {GeoJSONGeometry} GeoJSON geometry.\n */\nfunction writePointGeometry(geometry, opt_options) {\n return {\n type: 'Point',\n coordinates: geometry.getCoordinates(),\n };\n}\n/**\n * @param {Polygon} geometry Geometry.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @return {GeoJSONGeometry} GeoJSON geometry.\n */\nfunction writePolygonGeometry(geometry, opt_options) {\n var right;\n if (opt_options) {\n right = opt_options.rightHanded;\n }\n return {\n type: 'Polygon',\n coordinates: geometry.getCoordinates(right),\n };\n}\nexport default GeoJSON;\n//# sourceMappingURL=GeoJSON.js.map","import \"../../../src/components/VGrid/_grid.sass\";\nimport Grid from './grid';\nexport default Grid('layout');\n//# sourceMappingURL=VLayout.js.map","'use strict';\nvar arraySlice = require('../internals/array-slice-simple');\n\nvar floor = Math.floor;\n\nvar mergeSort = function (array, comparefn) {\n var length = array.length;\n var middle = floor(length / 2);\n return length < 8 ? insertionSort(array, comparefn) : merge(\n array,\n mergeSort(arraySlice(array, 0, middle), comparefn),\n mergeSort(arraySlice(array, middle), comparefn),\n comparefn\n );\n};\n\nvar insertionSort = function (array, comparefn) {\n var length = array.length;\n var i = 1;\n var element, j;\n\n while (i < length) {\n j = i;\n element = array[i];\n while (j && comparefn(array[j - 1], element) > 0) {\n array[j] = array[--j];\n }\n if (j !== i++) array[j] = element;\n } return array;\n};\n\nvar merge = function (array, left, right, comparefn) {\n var llength = left.length;\n var rlength = right.length;\n var lindex = 0;\n var rindex = 0;\n\n while (lindex < llength || rindex < rlength) {\n array[lindex + rindex] = (lindex < llength && rindex < rlength)\n ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]\n : lindex < llength ? left[lindex++] : right[rindex++];\n } return array;\n};\n\nmodule.exports = mergeSort;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/control/FullScreen\n */\nimport Control from './Control.js';\nimport EventType from '../events/EventType.js';\nimport { CLASS_CONTROL, CLASS_UNSELECTABLE, CLASS_UNSUPPORTED } from '../css.js';\nimport { listen } from '../events.js';\nimport { replaceNode } from '../dom.js';\nvar events = [\n 'fullscreenchange',\n 'webkitfullscreenchange',\n 'MSFullscreenChange',\n];\n/**\n * @enum {string}\n */\nvar FullScreenEventType = {\n /**\n * Triggered after the map entered fullscreen.\n * @event FullScreenEventType#enterfullscreen\n * @api\n */\n ENTERFULLSCREEN: 'enterfullscreen',\n /**\n * Triggered after the map leave fullscreen.\n * @event FullScreenEventType#leavefullscreen\n * @api\n */\n LEAVEFULLSCREEN: 'leavefullscreen',\n};\n/***\n * @template Return\n * @typedef {import(\"../Observable\").OnSignature &\n * import(\"../Observable\").OnSignature &\n * import(\"../Observable\").CombinedOnSignature} FullScreenOnSignature\n */\n/**\n * @typedef {Object} Options\n * @property {string} [className='ol-full-screen'] CSS class name.\n * @property {string|Text|HTMLElement} [label='\\u2922'] Text label to use for the button.\n * Instead of text, also an element (e.g. a `span` element) can be used.\n * @property {string|Text|HTMLElement} [labelActive='\\u00d7'] Text label to use for the\n * button when full-screen is active.\n * Instead of text, also an element (e.g. a `span` element) can be used.\n * @property {string} [activeClassName=className + '-true'] CSS class name for the button\n * when full-screen is active.\n * @property {string} [inactiveClassName=className + '-false'] CSS class name for the button\n * when full-screen is inactive.\n * @property {string} [tipLabel='Toggle full-screen'] Text label to use for the button tip.\n * @property {boolean} [keys=false] Full keyboard access.\n * @property {HTMLElement|string} [target] Specify a target if you want the\n * control to be rendered outside of the map's viewport.\n * @property {HTMLElement|string} [source] The element to be displayed\n * fullscreen. When not provided, the element containing the map viewport will\n * be displayed fullscreen.\n */\n/**\n * @classdesc\n * Provides a button that when clicked fills up the full screen with the map.\n * The full screen source element is by default the element containing the map viewport unless\n * overridden by providing the `source` option. In which case, the dom\n * element introduced using this parameter will be displayed in full screen.\n *\n * When in full screen mode, a close button is shown to exit full screen mode.\n * The [Fullscreen API](https://www.w3.org/TR/fullscreen/) is used to\n * toggle the map in full screen mode.\n *\n * @fires FullScreenEventType#enterfullscreen\n * @fires FullScreenEventType#leavefullscreen\n * @api\n */\nvar FullScreen = /** @class */ (function (_super) {\n __extends(FullScreen, _super);\n /**\n * @param {Options} [opt_options] Options.\n */\n function FullScreen(opt_options) {\n var _this = this;\n var options = opt_options ? opt_options : {};\n _this = _super.call(this, {\n element: document.createElement('div'),\n target: options.target,\n }) || this;\n /***\n * @type {FullScreenOnSignature}\n */\n _this.on;\n /***\n * @type {FullScreenOnSignature}\n */\n _this.once;\n /***\n * @type {FullScreenOnSignature}\n */\n _this.un;\n /**\n * @private\n * @type {string}\n */\n _this.cssClassName_ =\n options.className !== undefined ? options.className : 'ol-full-screen';\n /**\n * @private\n * @type {Array}\n */\n _this.activeClassName_ =\n options.activeClassName !== undefined\n ? options.activeClassName.split(' ')\n : [_this.cssClassName_ + '-true'];\n /**\n * @private\n * @type {Array}\n */\n _this.inactiveClassName_ =\n options.inactiveClassName !== undefined\n ? options.inactiveClassName.split(' ')\n : [_this.cssClassName_ + '-false'];\n var label = options.label !== undefined ? options.label : '\\u2922';\n /**\n * @private\n * @type {Text|HTMLElement}\n */\n _this.labelNode_ =\n typeof label === 'string' ? document.createTextNode(label) : label;\n var labelActive = options.labelActive !== undefined ? options.labelActive : '\\u00d7';\n /**\n * @private\n * @type {Text|HTMLElement}\n */\n _this.labelActiveNode_ =\n typeof labelActive === 'string'\n ? document.createTextNode(labelActive)\n : labelActive;\n /**\n * @private\n * @type {HTMLElement}\n */\n _this.button_ = document.createElement('button');\n var tipLabel = options.tipLabel ? options.tipLabel : 'Toggle full-screen';\n _this.setClassName_(_this.button_, isFullScreen());\n _this.button_.setAttribute('type', 'button');\n _this.button_.title = tipLabel;\n _this.button_.appendChild(_this.labelNode_);\n _this.button_.addEventListener(EventType.CLICK, _this.handleClick_.bind(_this), false);\n var cssClasses = _this.cssClassName_ +\n ' ' +\n CLASS_UNSELECTABLE +\n ' ' +\n CLASS_CONTROL +\n ' ' +\n (!isFullScreenSupported() ? CLASS_UNSUPPORTED : '');\n var element = _this.element;\n element.className = cssClasses;\n element.appendChild(_this.button_);\n /**\n * @private\n * @type {boolean}\n */\n _this.keys_ = options.keys !== undefined ? options.keys : false;\n /**\n * @private\n * @type {HTMLElement|string|undefined}\n */\n _this.source_ = options.source;\n return _this;\n }\n /**\n * @param {MouseEvent} event The event to handle\n * @private\n */\n FullScreen.prototype.handleClick_ = function (event) {\n event.preventDefault();\n this.handleFullScreen_();\n };\n /**\n * @private\n */\n FullScreen.prototype.handleFullScreen_ = function () {\n if (!isFullScreenSupported()) {\n return;\n }\n var map = this.getMap();\n if (!map) {\n return;\n }\n if (isFullScreen()) {\n exitFullScreen();\n }\n else {\n var element = void 0;\n if (this.source_) {\n element =\n typeof this.source_ === 'string'\n ? document.getElementById(this.source_)\n : this.source_;\n }\n else {\n element = map.getTargetElement();\n }\n if (this.keys_) {\n requestFullScreenWithKeys(element);\n }\n else {\n requestFullScreen(element);\n }\n }\n };\n /**\n * @private\n */\n FullScreen.prototype.handleFullScreenChange_ = function () {\n var map = this.getMap();\n if (isFullScreen()) {\n this.setClassName_(this.button_, true);\n replaceNode(this.labelActiveNode_, this.labelNode_);\n this.dispatchEvent(FullScreenEventType.ENTERFULLSCREEN);\n }\n else {\n this.setClassName_(this.button_, false);\n replaceNode(this.labelNode_, this.labelActiveNode_);\n this.dispatchEvent(FullScreenEventType.LEAVEFULLSCREEN);\n }\n if (map) {\n map.updateSize();\n }\n };\n /**\n * @param {HTMLElement} element Target element\n * @param {boolean} fullscreen True if fullscreen class name should be active\n * @private\n */\n FullScreen.prototype.setClassName_ = function (element, fullscreen) {\n var _a, _b, _c;\n var activeClassName = this.activeClassName_;\n var inactiveClassName = this.inactiveClassName_;\n var nextClassName = fullscreen ? activeClassName : inactiveClassName;\n (_a = element.classList).remove.apply(_a, activeClassName);\n (_b = element.classList).remove.apply(_b, inactiveClassName);\n (_c = element.classList).add.apply(_c, nextClassName);\n };\n /**\n * Remove the control from its current map and attach it to the new map.\n * Subclasses may set up event handlers to get notified about changes to\n * the map here.\n * @param {import(\"../PluggableMap.js\").default} map Map.\n * @api\n */\n FullScreen.prototype.setMap = function (map) {\n _super.prototype.setMap.call(this, map);\n if (map) {\n for (var i = 0, ii = events.length; i < ii; ++i) {\n this.listenerKeys.push(listen(document, events[i], this.handleFullScreenChange_, this));\n }\n }\n };\n return FullScreen;\n}(Control));\n/**\n * @return {boolean} Fullscreen is supported by the current platform.\n */\nfunction isFullScreenSupported() {\n var body = document.body;\n return !!(body['webkitRequestFullscreen'] ||\n (body['msRequestFullscreen'] && document['msFullscreenEnabled']) ||\n (body.requestFullscreen && document.fullscreenEnabled));\n}\n/**\n * @return {boolean} Element is currently in fullscreen.\n */\nfunction isFullScreen() {\n return !!(document['webkitIsFullScreen'] ||\n document['msFullscreenElement'] ||\n document.fullscreenElement);\n}\n/**\n * Request to fullscreen an element.\n * @param {HTMLElement} element Element to request fullscreen\n */\nfunction requestFullScreen(element) {\n if (element.requestFullscreen) {\n element.requestFullscreen();\n }\n else if (element['msRequestFullscreen']) {\n element['msRequestFullscreen']();\n }\n else if (element['webkitRequestFullscreen']) {\n element['webkitRequestFullscreen']();\n }\n}\n/**\n * Request to fullscreen an element with keyboard input.\n * @param {HTMLElement} element Element to request fullscreen\n */\nfunction requestFullScreenWithKeys(element) {\n if (element['webkitRequestFullscreen']) {\n element['webkitRequestFullscreen']();\n }\n else {\n requestFullScreen(element);\n }\n}\n/**\n * Exit fullscreen.\n */\nfunction exitFullScreen() {\n if (document.exitFullscreen) {\n document.exitFullscreen();\n }\n else if (document['msExitFullscreen']) {\n document['msExitFullscreen']();\n }\n else if (document['webkitExitFullscreen']) {\n document['webkitExitFullscreen']();\n }\n}\nexport default FullScreen;\n//# sourceMappingURL=FullScreen.js.map","module.exports = __webpack_public_path__ + \"img/station_icon_conti_grey.83a491ef.svg\";","module.exports = __webpack_public_path__ + \"img/streetMap.b32632bb.png\";","'use strict';\nvar UA = require('../internals/engine-user-agent');\n\nmodule.exports = /MSIE|Trident/.test(UA);\n","module.exports = __webpack_public_path__ + \"img/station_icon_conti_green.0d85b67c.svg\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAtCAYAAADYxvnjAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAT7SURBVHja7JhZbFRVGMd/59w7W5lpKZSWAh22BMoSwpJAgZKIYCGaKAgvmOKDKGpMfDG+GOMSnwy+mGiMMWqiIiYaYwSUJQJlSwEtS2llL5QuUGZKp0x7527n+FBCopRQYdiS+V7uy//c/M53/9/5vnOF1ppHISSPSORAc6A50BzoQxrm/9AOV0q9m05b00H4/QmEAM9VCAmGYXCLZiKFQMSieb8h+AiwsgaqNVPTPVb1N19tX3PiREsgGDT6w0Sj8X2FEAIpJaJv9b9USmk836eycuqE5SvmJ4JB87OBMIiBtNBUqnfdb5sOvPLaq59Gla8wA0Y/m9G4rsczy+bTfKGD2tq/yc+P0N/r0+kMZfFivl3/xrmKuZPHZy2j6bRVdLE5QTgcJBaLIIS4SeN5Prbt8uLapdTUHONw3RmKigpuAhVCEI3aaF/R2toZyKpHpRROKBxQpilRSiPlzdk0pKRkeCG//LyPjo4uyuJFuK5/A+6/+mDIJBg0/XtRTLcMpSAUNBg6JMZPP+4lGg0TH13MhfMd1z3bj+/vYdXf2ugCPL8vOVOnjcWQkqud3aRSPTescrfjZFbOUd9XJBLdjCwr4rvv3+TDdS8wfnwpY8eU4DgumYwDiAcL6vuKvEFBRpUNA2DzpkNs2fIXi6tmsnnrB6x5aSm+8kmnrbuCveNPLyX09NhEoxHeea+a2bMn4vk+ju2htGZ4yWAKh8R46+1VzKko5+svt3Gw9hSGKe4vqNYCx3EZXjKCiopy4qOL+9UZhqRqySwc2+Ng7Unu1KryTovHcVwMw+Dp5XMpHTH0tmtsxwWh769HtQYpJVpDx+UuLMsewJoHVPWmaaCUYueOo3Rc7nr4xjytNVr3PSOREO2XrrJvX+NtvRcIGH2Di76z7A6wmARCCDxPobV7o9MIBIlEN38eOMmKlZUMGhRCKQ26r/cfrjvD/v2NeL6iof48tu0ipcBxPMLXp6ysgvqeR6+VoWrJLCoXTCbV3UNrS5Izp1tpbLzIoUMn+eTjX5kwcSThSADX8dnxxxE2bNhJb8ahaEgBU6bEWf38IkaMHIoQsGfXca51W9kF1Wi00kRjEUaPKSE/P4/iksFIKbhyJUVjQzP79jRw7mwbq6oX4tg9dHWlWfvyU8yZPZHRY4opHBrDtlySnddoa0sSigTxlcouqGkYRCJBanYdpeF4E1qBkIJRo4qYMWM806aP5bnqheyuOc6UyXHaL12lvLyMhYumk0yk2LixlqNHmui43IU0JLblkLEdnl25ILugGdszurp65IqVlVSvXoTn+bS3dVJ//Dz1R5vYtrUO2/ZwXYeWiwksy+bU6Ra2b6sjkhdm7Lhinlgyk0mT4pSWDiF9rZcvPv+dzmRKZhU0Ly+kY7E8+cP6nTRfvEJhQZQx40oon1TG4qqZ2BmHVKoXlCZjOwghCIUCSENSODgKAi40XaL2wAlamxO0tyU5e7adxVUzRVZBhxXlb1m2bF757pr6yv17GggGA5gBSTR/EPGyYUyYMIJ4vJiCwVECAQPddysgmbzGhfOXOX26lbaWJL29Fq6jsDIuVUum89jj02oG3A0HeKYVAE8erjv7ev2xpqBhSl/7Csf1sSwb39eYpsQ0DQxT3riauJ6P8jUBQxIOhwgE+zZhSBmqmFfeMW5c6fvA3myC5n5A5EBzoDnQHGgONAeaA72n8c8AlSY0808bqFgAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAtCAYAAADYxvnjAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAJsSURBVHja7NfLaxNRFMDh3713oiZjra2g8bFJShfFuiu6cWNx6U7qC1QULKWCO/8Ht12JSleW1ra4tC7c6dIHSFsFpYKKFDc+sMnEJDPHRTNtfTBNJpNC5R6YzWQy83HmnjPnKhFhM4Rmk4SFWqiFWqiFWqiFWqiF/pdQp45rjgP9wK6En62AL8BjYGbdq0Uk6rghGxM3RURHWVTEVuQo8ATAf1kk+FhJdqEEoLMpTF8mPHMCeBDn1R8D8Oc9lvrfImUBkywUoO1RN+aIGyYmFvQHgGp30NkU/qcyKpNcSqUUoDscVOcKYSlu1c8AP/WBFJmpHHpvCikGyyXQZAlJKUC1G9yJHLp7a5jfh3Ghb4DLgG8OpnGn8uj9TWIV4Am6w8G9l8ccdsNfrgIvIv9ax77+LHAXMP7rEoWTC8hiBTIapFFkgOpwcCfza4toCLiVRMOfAC4CvunZhjvdhcqmoNHMegGEmVxFDteDrDejYZwGxgDHn/UoDCwQfK4uF5jUsSZ3GLZP5zF9K697ELjTik/oJHAB8M2hNO5UF3q3E71mFVASVJvBHf8NOdQIstGMhjEAjAOOP+dROPWOYLHyd2bDNbnTwZ3Ihb1SgCvA6EYMJdPAJUBMb60b7PmjG9SQ1FpQDRlmcjROw4jbwceA84BvetO49/PofVtWsV6A6qxV9ypyGLgd/wsRPZSsd5wTEV9EpDrvyfeeOflqnsm33KxUny6tHTqGmnxO09AQWxER8V95Urz2QarPC4kik4IiImdEpPyP8W0wofvHqvqoaes6kAfeAyN1DcQtbE92z2ShFmqhFmqhrYtfAwBy8cRISC5POwAAAABJRU5ErkJggg==\"","// Components\nimport VInput from '../../components/VInput'; // Mixins\n\nimport Rippleable from '../rippleable';\nimport Comparable from '../comparable'; // Utilities\n\nimport mixins from '../../util/mixins';\nexport function prevent(e) {\n e.preventDefault();\n}\n/* @vue/component */\n\nexport default mixins(VInput, Rippleable, Comparable).extend({\n name: 'selectable',\n model: {\n prop: 'inputValue',\n event: 'change'\n },\n props: {\n id: String,\n inputValue: null,\n falseValue: null,\n trueValue: null,\n multiple: {\n type: Boolean,\n default: null\n },\n label: String\n },\n\n data() {\n return {\n hasColor: this.inputValue,\n lazyValue: this.inputValue\n };\n },\n\n computed: {\n computedColor() {\n if (!this.isActive) return undefined;\n if (this.color) return this.color;\n if (this.isDark && !this.appIsDark) return 'white';\n return 'primary';\n },\n\n isMultiple() {\n return this.multiple === true || this.multiple === null && Array.isArray(this.internalValue);\n },\n\n isActive() {\n const value = this.value;\n const input = this.internalValue;\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) return false;\n return input.some(item => this.valueComparator(item, value));\n }\n\n if (this.trueValue === undefined || this.falseValue === undefined) {\n return value ? this.valueComparator(value, input) : Boolean(input);\n }\n\n return this.valueComparator(input, this.trueValue);\n },\n\n isDirty() {\n return this.isActive;\n },\n\n rippleState() {\n return !this.isDisabled && !this.validationState ? undefined : this.validationState;\n }\n\n },\n watch: {\n inputValue(val) {\n this.lazyValue = val;\n this.hasColor = val;\n }\n\n },\n methods: {\n genLabel() {\n const label = VInput.options.methods.genLabel.call(this);\n if (!label) return label;\n label.data.on = {\n // Label shouldn't cause the input to focus\n click: prevent\n };\n return label;\n },\n\n genInput(type, attrs) {\n return this.$createElement('input', {\n attrs: Object.assign({\n 'aria-checked': this.isActive.toString(),\n disabled: this.isDisabled,\n id: this.computedId,\n role: type,\n type\n }, attrs),\n domProps: {\n value: this.value,\n checked: this.isActive\n },\n on: {\n blur: this.onBlur,\n change: this.onChange,\n focus: this.onFocus,\n keydown: this.onKeydown,\n click: prevent\n },\n ref: 'input'\n });\n },\n\n onBlur() {\n this.isFocused = false;\n },\n\n onClick(e) {\n this.onChange();\n this.$emit('click', e);\n },\n\n onChange() {\n if (!this.isInteractive) return;\n const value = this.value;\n let input = this.internalValue;\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) {\n input = [];\n }\n\n const length = input.length;\n input = input.filter(item => !this.valueComparator(item, value));\n\n if (input.length === length) {\n input.push(value);\n }\n } else if (this.trueValue !== undefined && this.falseValue !== undefined) {\n input = this.valueComparator(input, this.trueValue) ? this.falseValue : this.trueValue;\n } else if (value) {\n input = this.valueComparator(input, value) ? null : value;\n } else {\n input = !input;\n }\n\n this.validate(true, input);\n this.internalValue = input;\n this.hasColor = input;\n },\n\n onFocus() {\n this.isFocused = true;\n },\n\n /** @abstract */\n onKeydown(e) {}\n\n }\n});\n//# sourceMappingURL=index.js.map","module.exports = __webpack_public_path__ + \"img/topographicMap.1203fd8f.png\";"],"sourceRoot":""}